1
A
回答
1
當創建模型或遷移時,會將時間戳添加到文件名中。
20160727050119_create_user.rb
#time-stamp 20160727050119
然後檢索最後一個遷移標記的方法call(env)
。
`mtime = ActiveRecord::Migrator.last_migration.mtime.to_i`
,並把它比作@last_check
,如果小於mtime
check_pending!
被調用,顯示ActiveRecord::PendingMigrationError
。
ActiveRecord::Migration.check_pending!(connection)
check_pending!
def check_pending!(connection = Base.connection)
raise ActiveRecord::PendingMigrationError if ActiveRecord::Migrator.needs_migration?(connection)
end
你可以找到所有這些信息.../lib/active-record/migration.rb
+0
有用的信息,並解釋了我遇到的問題:如果您提交了schema.rb文件並且無法提交版本參數複製到文件頂部的'ActiveRecord :: Schema.define'以及其他更改,它可能會導致其他人(在我的情況下爲CI系統)在嘗試運行測試時獲取掛起的遷移錯誤,因爲模式版本小於最近遷移的時間戳。 – Leo
0
。在你的應用程序的數據庫中的表稱爲schema_migrations,有所謂的版本一列。每個已經運行的遷移都會有一行。如果光盤上有一個遷移文件,其時間戳未包含在schema_migrations表中,那麼Rails知道需要運行遷移。
相關問題
- 1. Rails 3 - 突然等待遷移錯誤
- 2. 如何等待Realm.io遷移完成?
- 3. Rake中止:不知道如何在安裝rails後遷移
- 4. 我如何知道哪些AJAX請求正在等待處理?
- 5. python如何知道子進程是否正在等待輸入
- 6. 如何等待函數知道從
- 7. Rails如何知道我有未完成的遷移?
- 8. 無法因爲以下明確的遷移正在等待
- 9. .NET AutoResetEvent:如何知道進程是否在等待(方法WaitOne)?
- 10. ASP MVC 4如何知道您正在使用哪種數據庫遷移?
- 11. Rails:我修改了我的遷移文件(不好,我知道)
- 12. 如何測試Rails遷移?
- 13. rails無法遷移:「不知道如何構建任務版本:0」
- 14. 如何等待小吃店?我想知道它何時關閉
- 15. 如何在git pull之後通知未決的Rails遷移?
- 16. 在Rails遷移中遷移數據
- 17. 如何確定走頻道的哪一邊正在等待?
- 18. 如何得知沒有AJAX調用正在等待加載?
- 19. 工具欄按鈕如何知道要等待?
- 20. 如何知道任務是取消還是等待期結束
- 21. 如何知道所有的異步/等待完成?
- 22. 異步/等待和Task.Run - 如何知道什麼時候完成
- 23. 數據庫感知Rails遷移
- 24. 如何在Rails 3中遷移數據?
- 25. 如何寫SQL在遷移中的Rails
- 26. 如何等待完成遷移之前完成的查詢在orientjs上完成遷移
- 27. Rake db:遷移錯誤「不知道如何構建任務」
- 28. Entity Framework如何知道添加遷移需要哪個類?
- 29. 如何知道的Rails
- 30. Rails has_and_belongs_to_many遷移
檢查你的數據庫,有一個表'schema_migrations'。參見[文檔](http://api.rubyonrails.org/classes/ActiveRecord/Migration.html)和[相關問題](http://stackoverflow.com/questions/12057408/how-does-rails-keep- track-of-migrations-have-run-for-a-database?rq = 1) –