Rails测试数据库和开发数据库不同步



我正在用Rails开发一个应用程序。我使用structure.sql模式格式,posgresql作为数据库,minitest进行测试。

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

说明:我将表"supplier_provider_contacts"中的"hon"列重命名为"敬语"。在我运行迁移后,我运行了一个测试,从fixture中得到一个错误,说表"supplier_provider_contacts"没有名为"honorificial"的列。但是,当我查看structure.sql文件时,有一个名为该名称的列。

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

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

% bin/rails db:test:prepare

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

最新更新