У меня есть последовательность миграций в приложении rails, которая включает в себя следующие шаги:
- Создание базовой версии модели 'user'
- Создайте экземпляр этой модели - в моей системе должен быть хотя бы один начальный пользователь, чтобы вы могли войти в систему и начать использовать его
- Обновите модель 'user', добавив новое поле / столбец.
Теперь я использую «validates_inclusion_of» в этом новом поле / столбце. Это отлично работало на моей первоначальной машине для разработки, на которой уже была база данных с этими миграциями. Однако, если я иду на новую машину и запускаю все миграции, шаг 2 завершается неудачно, потому что validates_inclusion_of завершается неудачей, потому что поле из миграции 3 еще не добавлено в класс модели.
В качестве обходного пути я могу закомментировать строку «validates _...», запустить миграцию и раскомментировать ее, но это нехорошо.
Лучше было бы изменить порядок моих миграций, чтобы создание пользователя (шаг 2) было последним после добавления всех столбцов.
Хотя я новичок в рельсах, так что я подумал, что спросить, какой предпочтительный способ справиться с этой ситуацией:)