Это своего рода продолжение этого вопроса: Можно ли использовать Rails Migrations для преобразования данных?
Если я работаю над веткой, которая, когда она будет реинтегрирована и выпущена в производство, изменит схему базы данных довольно радикально. Каков наилучший способ обеспечить преобразование всех данных в производстве в новый формат?
Простой пример: числовой столбец, который мы хотим изменить на текст и выполнить некоторую работу по преобразованию данных. Тогда мы хотим отбросить старую колонку.
Мне посоветовали не делать никаких манипуляций с данными при миграции, а скорее создавать для этого грабли. Существует ли механизм, обеспечивающий выполнение граблей в порядке наряду с миграциями?
Сейчас единственное решение, которое я могу придумать, - это объединить все миграции, которые отбрасывают несуществующие столбцы, во вторую коллекцию. Запустите первый набор миграций, которые добавляют новые таблицы. Запустите грабли, затем запустите второй набор миграций. Это не кажется мне идеальным решением и может легко пойти не так.