如果我的迁移时间戳早于db / schema.rb中的当前时间戳,那么为什么我运行rake db:migrate它仍在运行?
如果我仍然可以运行具有先前时间戳的迁移,db / schema.rb有什么用于获取版本时间戳?
答案 0 :(得分:1)
前一段时间,架构版本用于推断哪些迁移(可能)运行,哪些迁移不运行。如今,单独跟踪单个迁移,但模式版本号并非完全无用。 docs say(强调我的):
db / schema.rb包含数据库的当前版本号。如果合并 两个分支都触及架构,则会确保发生冲突。发生这种情况时,请手动解决冲突,保留两者的最高版本号。
答案 1 :(得分:-1)
如果迁移时间戳早于当前时间戳,则仍会运行迁移。
db / schema中的时间戳阻止您rake db:migrate
已完成迁移,但它无法阻止您rake db:migrate VERSION=xxxxxxx