Rails SQLite Dev和Test数据库是一样的。为什么?

时间:2012-08-01 22:42:20

标签: ruby-on-rails ruby-on-rails-3 sqlite

我继承了一个Rails项目,其中(SQLite)Dev和Test数据库是相同的,就像在database.yml文件中一样。

这有什么好处吗?为什么有人会这样做?

2 个答案:

答案 0 :(得分:2)

测试数据库将被正常的测试覆盖(除非您使用事务夹具)。如果测试和开发数据库相同,则每次运行测试套件时都会擦除数据。开发数据可能会干扰测试套件并使其无法实现。

我会谨慎地认为这是一个设计错误。没有理由,你应该这样做。即使是新创建的rails应用中的database.yml也指出:

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.

答案 1 :(得分:1)

这没有任何好处。有不利之处。测试和开发或生产数据库应该是不同的。很多人都将测试和开发设置保持不变,这并不是一个大问题,因为最重要的是生产数据库。这就是我能想到的原因使得前一个开发。在项目上做那件事。它应该不是那样的。