From: Rick DeNatale Date: 2009-05-04T04:43:35+09:00 Subject: Re: Multiple database connections On Sat, May 2, 2009 at 9:10 PM, Mark Thomas wrote: > On May 2, 12:24 am, Loga Ganesan wrote: >> James Lopes wrote: >> >> > A quick question: >> >> > Say my project needs to connect to a second database, Users stored in >> > one db and data in another, How would I configure my projects >> > database.yml? >> >> > Thanks for the help. >> >> Hi , >>       You can put one more database entry in either the development, >> test or production. > > First, this is a Rails question, so it is best asked on the Rails > list. > Secondly, the above advice is incorrect, which I guess proves the > first point. Each entry in database.yml is a connection. You can > create additional connections. See > http://pullmonkey.com/2008/4/21/ruby-on-rails-multiple-database-connections One thing which the link doesn't seem to mention is that if you have more than one model which needs to be in second database, you can make an abstract superclass. e.g. class SecondDatabaseBase < ActiveRecord::Base self.abstract_class = true establish_connection ("connection_key") end where "connection_key" would be substituted for a key in database.yml, possibly computed using RAILS_ENV. Then just make models which are in the second database subclasses of SecondDatabaseBase instead of ActiveRecord::Base. Setting the class attribute abstract_class to true tells AR that the class doesn't have any instances, but is just providing configuration info, methods etc. to any subclasses. -- Rick DeNatale Blog: http://talklikeaduck.denhaven2.com/ Twitter: http://twitter.com/RickDeNatale WWR: http://www.workingwithrails.com/person/9021-rick-denatale LinkedIn: http://www.linkedin.com/in/rickdenatale