Laravel 5 Ошибка Cannot add foreign key constraint

Laravel 5

laravel

Ошибка Cannot add foreign key constraint в миграциях

Возникает при миграциях. Возможные причины:

  1. В одной из таблиц id - unsigned, в другой - нет. Надо бы добавить или убрать ->unsigned(); Команда ->increments(id) создает unsigned поле.
  2. Связь устанавливается раньше, чем таблица создается. Можно изменить название файла миграции.
  3. Движок (engine) у таблицы - MyISAM, который не поддерживает внешние ключи. Надо менять на InnoDB.

Иногда решением является разбиение кода:

В редких случаях ошибка возникает из-за добавления нового столбца в непустую таблицы. Тогда, возможно, стоит добавить ->nullable().

все материалы по Laravel 5