De acordo com o documento Rails: http://guides.rubyonrails.org/migrations.html
"O Active Record rastreia quais migrações já foram executadas, então tudo que você precisa fazer é atualizar sua fonte e executar rake db: migrate."
Como o ActiveRecord realmente faz isso? Onde o Active Record armazena os dados?
Eu suspeito que isso pode estar armazenado no próprio banco de dados. Em uma mesa em algum lugar.
Em minha máquina de desenvolvimento, executei todas as migrações. Então copiei o banco de dados de produção usando o mysqldump. Então executei o "rake db: migrate: status", ele mostra corretamente as migrações que precisam ser executadas no banco de dados de produção.
Eu costumava pensar que o ActiveRecord rastreia a última migração executada usando o carimbo de data / hora. Mas acho que isso não é verdade porque o ActiveRecord executa corretamente as migrações "mais antigas" mescladas de outro branch de código.
Alguém com conhecimento interno sobre isso poderia elaborar? obrigado