[英]Rails pending migration in rake db:test:prepare
我已經運行rake db:migrate
並且所有rake db:migrate
都已運行。 但是,當我嘗試運行rake db:test:prepare
,出現錯誤:
You have 1 pending migrations:
20130724211328 CreateGalleries
Run `rake db:migrate` to update your database then try again.
然后再次運行rake db:migrate
會給出錯誤:
PG::Error: ERROR: relation "galleries" already exists...
但是在控制台中,我可以完全按照CreateGalleries遷移中所示創建和操作Gallery模型。 該表未在任何其他遷移中創建或提及。
似乎遷移進行得很好,但是沒有注冊。 任何想法如何解決這一問題?
編輯
我用rake db:drop db:create db:migrate
然后rake db:test:prepare
解決了這個問題,但是我很高興將解決方案提供給任何能夠首先弄清是什么原因引起問題的人。
我懷疑畫廊的遷移未正確執行。 如果您100%確定表中的所有內容正確無誤,則可以將遷移版本提高到圖庫遷移的版本。
為此,找到畫廊遷移的時間戳(遷移文件前面的14個數字,在這種情況下為20130724211328
),並將其作為新行插入到表schema_migrations
(由Rails在成功執行遷移后自動完成) )。
如果表為空,則還可以刪除表galleries
並再次運行rake db:migrate
。 這樣,您還可以確保遷移不會觸發任何錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.