Согласно документу Rails: http://guides.rubyonrails.org/migrations.html
«Active Record отслеживает, какие миграции уже были выполнены, поэтому все, что вам нужно сделать, это обновить исходный код и запустить rake db: migrate».
Как ActiveRecord на самом деле это делает? Где Active Record хранит данные?
Я подозреваю, что это может храниться в самой базе данных? Где-то в таблице.
На своей машине разработки я выполнил все миграции. Затем я скопировал производственную базу данных с помощью mysqldump. Затем я запустил rake db: migrate: status, он правильно показывает миграции, которые необходимо выполнить в производственной базе данных.
Раньше я думал, что ActiveRecord отслеживает последний запуск миграции, используя временную метку. Но я думаю, что это не так, потому что ActiveRecord правильно выполняет «старые» миграции, объединенные из другой ветки кода.
Может ли кто-нибудь изнутри разбираться в этом подробнее? Благодарность