0

我需要在我的应用程序中使用两个不同的数据库。我找到了一个简单的例子:

http://pullmonkey.com/2008/4/21/ruby-on-rails-multiple-database-connections/

使用建立连接,但它似乎不起作用。为了测试切换数据库,我有:

  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

我正在为此测试以开发模式运行。任何想法为什么它不能切换?谢谢。

4

1 回答 1

0

首先,“pulmonkeyexample”是在您有多个数据库而不是三个标准数据库(“开发、测试和生产”)时使用数据库标签。当你启动一个 Rails 应用程序时,你可以使用“-e”选项来告诉 Rails 在哪种模式下启动应用程序 - test、dev 或 prod。根据应用程序启动的模式,Rails 将自动使用“database.yml”文件中的相应数据库连接。所以从你的模型中删除那条线。再想一想,即使您编写了它,只要有一个带有用户表的测试数据库,它也应该可以工作。

于 2013-04-02T19:51:22.050 回答