簡體   English   中英

Rails在rake db:test:prepare中等待遷移

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM