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