Multiple database connections

J

James Lopes

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.
 
L

Loga Ganesan

James said:
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.
 
L

list. rb

[Note: parts of this message were removed to make it a legal post.]

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

Rick DeNatale

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-connectio=
ns

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 =3D 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.


--=20
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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,766
Messages
2,569,569
Members
45,042
Latest member
icassiem

Latest Threads

Top