【问题标题】:Rails SQLite Dev and Test database are the same. Why?Rails SQLite Dev 和 Test 数据库是一样的。为什么?
【发布时间】:2012-07-30 21:39:40
【问题描述】:

我继承了一个 Rails 项目,其中(SQLite)开发和测试数据库是相同的,如 database.yml 文件。

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

【问题讨论】:

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


    【解决方案1】:

    测试数据库通常会被测试覆盖(除非您使用事务性固定装置)。如果测试和开发数据库相同,则每次运行测试套件时都会删除您的数据。开发数据可能会干扰测试套件并使其不可靠。

    我很清楚地认为这是一个设计错误。没有理由,你应该这样做。甚至新创建的 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.
    

    【讨论】:

      【解决方案2】:

      这样做没有任何好处。有缺点。测试和开发或生产数据库应该是不同的。很多人将测试和开发设置保持不变,这并不是什么大问题,因为最重要的是生产数据库。这就是我能想到的原因,这就是之前的开发者。在项目上这样做。不过不应该是这样的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-13
        相关资源
        最近更新 更多