[英]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.