D'après le document Rails: http://guides.rubyonrails.org/migrations.html
"Active Record suit les migrations déjà exécutées. Il vous suffit donc de mettre à jour votre source et d'exécuter rake db: migrate."
Comment ActiveRecord fait-il réellement cela? Où Active Record stocke-t-il les données?
Je soupçonne que cela pourrait être stocké dans la base de données elle-même? Dans une table quelque part.
Sur ma machine de développement, j'ai exécuté toutes les migrations. Ensuite, j'ai copié la base de données de production en utilisant mysqldump. Ensuite, j'ai lancé "rake db: migrate: status", il montre correctement les migrations qui doivent s'exécuter sur la base de données de production.
J'avais l'habitude de penser qu'ActiveRecord garde une trace de la dernière migration exécutée en utilisant l'horodatage. Mais je pense que ce n'est pas vrai car ActiveRecord exécute correctement les migrations «plus anciennes» fusionnées à partir d'une autre branche de code.
Quelqu'un avec une connaissance interne de cela pourrait-il élaborer? Merci