Как использовать несколько баз данных в приложении 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?

Спасибо!

Ответы на вопрос(1)

Ваш ответ на вопрос