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