Como usar vários bancos de dados em um aplicativo Rails usando o database.yml
Eu li sobre a documentação sobre como fazer isso, mas na prática, estou tendo problemas. No meu aplicativo, eu tenho dois bancos de dados diferentes, conforme descrito abaixo no meu arquivo database.yml.
<code>sqlite_test: adapter: sqlite3 database: db/sqlite_test.sqlite3 table: plots pool: 5 timeout: 5000 development: adapter: mysql2 encoding: utf8 reconnect: false database: test pool: 5 username: myname password: mypassword host: localhost </code>
Meu aplicativo é uma plotadora dinâmica que plota os dados em um banco de dados (básico) sem ter conhecimento do que está no banco de dados ou como está estruturado. Ambos os bancos de dados contêm dados diferentes. O banco de dados SQLite que criei em um aplicativo Rails separado.
O aplicativo atual que estou usando é construído em torno do banco de dados MYSQL, que eu construo externamente. Eu copiei o banco de dados SQLite para o diretório / db. Então, no meu modelo principal, quando eu digo:
<code> class Plot < ActiveRecord::Base establish_connection :development set_table_name "stock_test" set_primary_key :id </code>
Tudo funciona muito bem e dandy. No entanto, quando eu mudo para:
<code> establish_connection :sqlite_test set_table_name "plots" </code>
e tentar acessar esse banco de dados através do console do Rails, recebo um erro dizendo:
<code>>>ActiveRecord::AdapterNotSpecified: database configuration does not specify adapter </code>
Eu não sei por que isso acontece, já que o arquivo database.yml claramente especifica um adaptador? Quando eu faço isso manualmente no meu modelo, tudo funciona exatamente como deveria.
<code>class Plot < ActiveRecord::Base establish_connection(:adapter => "sqlite3", :database => "db/sqlite_test.sqlite3", :pool => 5 ) </code>
Por que tudo isso funciona quando especifico manualmente o que está no database.yml, mas não quando uso apenas a referência database.yml?
Obrigado!