Laut Rails doc: http://guides.rubyonrails.org/migrations.html
"Active Record verfolgt, welche Migrationen bereits ausgeführt wurden. Sie müssen also nur Ihre Quelle aktualisieren und rake db: migrate ausführen."
Wie macht ActiveRecord das eigentlich? Wo speichert Active Record die Daten?
Ich vermute, dass dies in der Datenbank selbst gespeichert sein könnte? Irgendwo in einem Tisch.
Auf meinem Entwicklungscomputer habe ich alle Migrationen ausgeführt. Dann habe ich die Produktionsdatenbank mit mysqldump kopiert. Dann habe ich "rake db: migrate: status" ausgeführt. Es zeigt korrekt die Migrationen an, die in der Produktionsdatenbank ausgeführt werden müssen.
Früher dachte ich, dass ActiveRecord den letzten Migrationslauf mithilfe des Zeitstempels verfolgt. Ich denke jedoch, dass dies nicht der Fall ist, da ActiveRecord die "älteren" Migrationen, die aus einem anderen Codezweig zusammengeführt wurden, korrekt ausführt.
Könnte jemand mit Insiderwissen darüber aufwändig sein? Vielen Dank