规格的不同数据库

时间:2012-02-23 09:46:35

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

我想运行大部分RSpec-s 再次快速推出SQLite ,但能够“标记”特定规格以使用PostgreSQL (由于大量使用PG的特点。

这大约是我需要的:

describe "something" do
  it "runs against SQLite by default" do
    # etc
  end

  it "but this against PG", :pg do
    # etc
  end
end

我可能会攻击establish_connection但想要“正确”执行此操作,因此模型不会共享两者之间的任何内容。

另一个问题是如何针对这两个数据库运行rake任务。

注意,我不是要求从应用中使用多个数据库。我想规范之间切换数据库。

必须有一个宝石:)

1 个答案:

答案 0 :(得分:1)

一种方法是使用此解决方案:

Rails RSpec with Multiple Databases

基本上在您之前(:each /:all)连接到其他数据库并在after(:each /:all)中恢复默认连接。