我需要在我的应用中使用两个不同的数据库。我找到了一个简单的例子:
http://pullmonkey.com/2008/4/21/ruby-on-rails-multiple-database-connections/
使用establish_connection,但它似乎不起作用。为了测试切换数据库,我有:
class User < ActiveRecord::Base
establish_connection :test
# attr_accessible :title, :body
end
但我收到错误:“未捕获异常:数据库配置未指定适配器”。
这是我的database.yaml:
development:
adapter: mysql2
encoding: utf8
database: foo
username: bar
host: foo.com
password: foobar
test:
adapter: sqlite3
database: db/test.sqlite3
pool: 5
timeout: 5000
production:
adapter: sqlite3
database: db/production.sqlite3
pool: 5
timeout: 5000
我正在开发模式下运行此测试。任何想法为什么它不能切换?感谢。
答案 0 :(得分:0)
首先,“pulmonkeyexample”是在拥有多个数据库时使用数据库标签,而不是三个标准数据库 - “开发,测试和生产”。启动rails应用程序时,可以使用“-e”选项告诉rails启动应用程序的模式 - test,dev或prod。根据应用程序启动的模式,Rails将自动使用“database.yml”文件中的相应数据库连接。因此,从模型中删除该行。再想一想,即使你写了它也应该有用,只要有一个带有用户表的测试数据库。