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) –