Thanks Maurício, For that extra table I used either ActiveRecord::Base.establish_connection( :ube ) in the model, with the following in database.yml: ube: adapter: mysql database: ube user: root
or ActiveRecord::Base.establish_connection( :adapter => 'mysql', :database => 'ube', :user => 'my_user' ) in the model and no :ube declaration in database.yml As I understand using 'establish_connection' by itself would connect me to the 'current' DB, wouldn't it? Thanks. Pepe On May 31, 11:59 am, Maurício Linhares <[email protected]> wrote: > Stupid question, did you do: "ActiveRecord::Base.establish_connection" > or did you just call "establish_connection" in your model? > > As you might imagine right now, calling > "ActiveRecord::Base.establish_connection" is very different than > calling establish_connection in the model you want to connect to > another database. > > - > Maurício Linhareshttp://alinhavado.wordpress.com/(pt-br) > |http://blog.codevader.com/(en) > > On Sun, May 31, 2009 at 11:17 AM, pepe <[email protected]> wrote: > > > Hello, > > > I have been wrestling for a couple of days trying to make my > > application work with 2 different databases simultaneously. Finally > > got it running but I am a bit disappointed at what I needed to do in > > order to make it work. I have a couple case scenarios: > > > First case scenario: > > MySQL A: 6 tables > > MySQL B: 1 table > > > Following instructions from the AWDWR book and any other source of > > information I've read I add an > > **ActiveRecord::Base.establish_connection()** declaration in the model > > for the table in MySQL B. > > > Seems simple, but did not work. I tried adding the connection > > parameters inside the model and also using a symbol to reference a > > 'database.yml' entry. Nothing. > > > Finally, when I was getting ready to ask for help I had the idea that > > made it work. I added **self.table_name = 'my_db.my_table_name'** in > > every model (including the main DB, named 'A' in this example) and > > everything started working. > > > Second case scenario: > > MySQL: 6 tables > > Oracle: 1 table > > > Same as above but in addition to adding the **self.table_name** stuff > > I needed to add in every table of the main (MySQL) DB an > > **ActiveRecord::Base.establish_connection()** declaration pointing to > > either 'development', 'test' or 'production', depending on which DB I > > was using. > > > I thought that Rails would 'know' which DB to use. Am I wrong? Should > > I have added any type of setup value in 'environment.rb'/other place > > to avoid all this? > > > Thanks. > > > Pepe --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---

