我在 rails 3 应用程序上使用 postgresql。我一直在使用 sqlite3 作为测试环境,但最终决定切换到我在生产中使用的同一个数据库进行测试。问题是,我只为每个环境创建一个数据库和不同的模式。这是我无法改变的,因为环境是受企业限制的。
因此,我有一个测试模式。我运行 db:schema:load 并且它工作正常。我在它上面运行 rake spec(我正在使用 rspec)并且它完全在来自 rails 的 'db:test:purge' 任务上中断了。现在,此任务删除数据库。在我的例子中,不仅数据库所有者与模式所有者不同,而且我宁愿让任务重新创建模式而不是重新创建数据库。
我怎样才能做到这一点?