根据 Rails 文档: http: //guides.rubyonrails.org/migrations.html
“Active Record 跟踪哪些迁移已经运行,所以你所要做的就是更新你的源并运行 rake db:migrate。”
ActiveRecord 实际上是如何做到这一点的?Active Record 将数据存储在哪里?
我怀疑这可能存储在数据库本身中?在某处的桌子上。
在我的开发机器上,我运行了所有迁移。然后我使用 mysqldump 复制了生产数据库。然后我运行“rake db:migrate:status”,它正确显示了需要在生产数据库上运行的迁移。
我曾经认为 ActiveRecord 使用时间戳来跟踪上次迁移运行。但我认为这不是真的,因为 ActiveRecord 正确运行从另一个代码分支合并的“旧”迁移。
有内幕的人可以详细说明吗?谢谢