【问题标题】:Rails Test DB and Development DB out of synchRails 测试数据库和开发数据库不同步
【发布时间】:2021-09-16 11:05:42
【问题描述】:

我正在使用 Rails 开发应用程序。我使用的是structure.sql模式格式,posgresql作为db,minitest进行测试。

在我修改表列(重命名、更改默认值、添加限制)并运行迁移并开始出现一些奇怪的行为之后。

细节:我将表 'supplier_provider_contacts' 的列 'hon' 重命名为 'honorific'。在我运行迁移之后,我运行了一个测试,并从夹具中得到一个错误,说表 'supplier_provider_contacts' 没有名为 'honorific' 的列。但是,当我查看我的 structure.sql 文件时,有一个名为该名称的列。

这让我相信我的测试和开发模式不再同步。有没有一种简单的方法可以让我的测试架构与我的开发架构版本相同?

【问题讨论】:

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


    【解决方案1】:

    有一个 rails 任务可以使用当前的 db/schema.rbstructure.sql 重新创建您的测试数据库:

    % bin/rails db:test:prepare
    

    这应该会重新同步您的测试和开发数据库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-08
      • 2013-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多