Według dokumentu Rails: http://guides.rubyonrails.org/migrations.html
„Moduł Active Record śledzi, które migracje zostały już uruchomione, więc wszystko, co musisz zrobić, to zaktualizować źródło i uruchomić rake db: migrate”.
Jak właściwie to robi ActiveRecord? Gdzie Active Record przechowuje dane?
Podejrzewam, że to może być zapisane w samej bazie danych? Gdzieś w stole.
Na moim komputerze programistycznym przeprowadziłem wszystkie migracje. Następnie skopiowałem produkcyjną bazę danych za pomocą mysqldump. Następnie uruchomiłem "rake db: migrate: status", który poprawnie pokazuje migracje, które należy uruchomić na produkcyjnej bazie danych.
Kiedyś myślałem, że ActiveRecord śledzi ostatni przebieg migracji przy użyciu znacznika czasu. Ale myślę, że to nieprawda, ponieważ ActiveRecord poprawnie uruchamia „starsze” migracje scalone z innej gałęzi kodu.
Czy mógłby ktoś z wewnętrzną wiedzą na ten temat? Dzięki