Перенос Rails: лучший способ получить текущую версию миграции
Есть ли хороший способ получить номер версии миграции?
Мне нужно реализовать метод в модели, которые ведут себя по-разному и вне определенной версии миграции.
Я обнаружил, что initial_migrated_upto_version в адаптере подключения извлекает версию из базы данных, но не может найти других.
Справочная информация. Я пытаюсь удалить два столбца из таблицы A, хочу переместить их в таблицу B и добавить связь с таблицей B из таблицы A.
Во время этого изменения мне нужно получить доступ к этим двум столбцам. но после этого я хочу добавить прокси-метод для этих столбцов для совместимости.
Ответы
Ответ 1
> ActiveRecord::Migrator.current_version
(0.2ms) SELECT "schema_migrations"."version" FROM "schema_migrations"
=> 20120110085802
> ActiveRecord::Migrator.get_all_versions
(0.3ms) SELECT "schema_migrations"."version" FROM "schema_migrations"
=> [20111114121610,
20111115091108,
...
Ответ 2
Там гораздо приятнее: rake db:migrate:status
up 20120530222941 Create shenanigans
up 20120613030015 *** NO FILE ***
Указывая, что я удалил свой последний файл миграции.
Или проще:
> rake db:version
Current version: 20120613030015