Как использовать несколько баз данных в приложении Rails с использованием database.yml
Я прочитал документацию о том, как это сделать, но на практике у меня возникают проблемы. В моем приложении у меня есть 2 разные базы данных, как описано ниже в моем файле 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>
Мое приложение представляет собой динамический плоттер, который будет отображать данные в (базовой) базе данных, не зная, что в базе данных, или как она структурирована. Обе эти базы данных содержат разные данные. База данных SQLite, которую я создал в отдельном приложении Rails.
Текущее приложение, которое я использую, построено на базе данных MYSQL, которую я строю извне. Я скопировал базу данных SQLite в каталог / db. Так в моей основной модели, когда я говорю:
<code> class Plot < ActiveRecord::Base establish_connection :development set_table_name "stock_test" set_primary_key :id </code>
Все работает просто отлично и денди. Однако, когда я изменяю это на:
<code> establish_connection :sqlite_test set_table_name "plots" </code>
и попытаться получить доступ к этой базе данных через консоль Rails, я получаю сообщение об ошибке:
<code>>>ActiveRecord::AdapterNotSpecified: database configuration does not specify adapter </code>
Я не знаю, почему это так, поскольку файл database.yml явно указывает адаптер? Когда я делаю это вручную в моей модели, все работает точно так, как должно.
<code>class Plot < ActiveRecord::Base establish_connection(:adapter => "sqlite3", :database => "db/sqlite_test.sqlite3", :pool => 5 ) </code>
Почему все это работает, когда я вручную указываю что в файле database.yml, а не когда просто использую ссылку на database.yml?
Спасибо!