[英]Active Record field exists in the development DB, but not in the test DB of Rails
[英]Rails Test DB and Development DB out of synch
我正在用 Rails 开发一个应用程序。 我使用的是 structure.sql 模式格式,posgresql 作为 db,minitest 用于测试。
在我修改了一个表列(重命名、更改默认值、添加限制)并运行迁移并开始出现一些奇怪的行为之后。
细节:我将表“supplier_provider_contacts”的“hon”列重命名为“honorific”。 在我运行迁移后,我运行了一个测试,并从装置中得到一个错误,说表“supplier_provider_contacts”没有名为“honorific”的列。 但是,当我查看我的 structure.sql 文件时,有一个该名称的列。
这让我相信我的测试和开发模式不再同步。 有没有一种简单的方法可以让我的测试架构与我的开发架构处于同一版本?
有一个 rails 任务可以使用当前的db/schema.rb
或structure.sql
重新创建您的测试数据库:
% bin/rails db:test:prepare
这应该重新同步您的测试和开发数据库。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.