DRY is a concept. It means Don't Repeat Yourself. The concept is applied to how you program your application. An example of violating DRY would be having the same method in three different places in your app. Having to define fields for a legacy database that you are now bolting a Rails app to is not a violation of this concept. However, this is all academic to your real issue. How do I connect my Rails 3 app to a legacy database?
I think what you are looking for is something like DataMapper. It works with Rails 3 (when using the gem dm-rails) and is actively being developed/supported. You can learn more here:
http://datamapper.org/
dm_rails information can be found on the
datamapper.org site and at the source code location.
https://github.com/datamapper/dm-rails
They have tutorials on how to connect to legacy databases and lots of information on working with some of the issues that come do that.
B.