为两个数据库生成schema.rb文件

时间:2012-04-04 05:05:29

标签: ruby-on-rails database testing activerecord schema

在我的rails应用程序中,我有两个数据库,我能够通过以下设置启动并运行

database.yml

development: &defaults
  adapter: mysql
  encoding: utf8
  database: <Database1>
  username: <user_name>
  password: <password>
  host: localhost

second_development: &defaults
  adapter: mysql
  encoding: utf8
  database: <Database2>
  username: <user_name>
  password: <password>
  host: localhost

test: &defaults
  adapter: mysql
  encoding: utf8
  database: <Database1_test>
  username: <user_name>
  password: <password>
  host: localhost

second_test: &defaults
  adapter: mysql
  encoding: utf8
  database: <Database2_test>
  username: <user_name>
  password: <password>
  host: localhost

但问题是在运行测试用例时,我使用'mocha','guard'和'notahat-machinist',当我尝试运行测试用例时,它首先运行schema.rb文件。但问题是它只从第一个测试数据库创建模式

test: &defaults
      adapter: mysql
      encoding: utf8
      database: <Database1_test>
      username: <user_name>
      password: <password>
      host: localhost 

这将使与第二个测试数据库'Database2_test'相关的测试失败。这将是什么解决方法。

生成一个同时具有数据库架构的schema.rb文件。

提前致谢

1 个答案:

答案 0 :(得分:0)

schema.rb generate由连接定义。因此,您需要在测试中使用良好的连接以获得良好的架构。