Multiple database connections

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.

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.

I used a multi-magic (think that was the spelling) gem a while back,
worked
well as a standalone & w/ rails.
Good luck

On May 2, 12:24 am, Loga G. [email protected] wrote:

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

– Mark.

On Sat, May 2, 2009 at 9:10 PM, Mark T. [email protected] wrote:

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