Создал несколько таблиц с зависимостями. Когда выполняю команду migrate, то получаю ошибку: General error: 1215 Cannot add foreign key constraint Похоже, дело в том, что сначала выполняется миграция, которая зависит от таблицы, которая будет создана только лишь в следующей миграции. Т.е. таблицы, на которую ссылается внешний ключ пока еще нет. Как лучше поступить в данном случае? Запускать по-одной, пересоздать заново миграции в нужной последовательности или есть другой способ решения?
Миграции запускаются в порядке создания. Поэтому в названиях файлов миграций и присутствует дата. Но, выполняются только те, о которых нет записи в базе данных.
Так как сбой уже произошел, база может быть в состоянии где-то посередине миграции. Возможно придётся подчистить в базе вручную, затем посмотреть как накатываются/откатываются миграции. --- Добавлено --- И да, в процессе исправления всегда есть риск накосячить ещё больше. Бэкапы и терпение! Удачи!
Да, я базу вычистил. Мне просто было интересно есть ли какой-то разумный способ как поменять порядок запуска миграций. Мне, например, не понятно, почему при запуске миграций нет автоматической проверки связей между таблицами. Если есть связь, значит запускать сначала миграцию, от которой зависят, а затем уже зависящие от нее. Походу такая проблема возникла только у меня из-за недостачи опыта )))
Ну ты многого хочешь от разработчиков фреймворка. Они что, должны твои исходники шерстить, чтоб смотреть, какие у тебя там связи? Или сначала в памяти строить модель миграции? Делать больше нефига выполнять такую сложнейшую работу вместо мозга программиста