Невозможно перенести две таблицы одновременно, код не будет выполняться параллельно при обработке
, а миграция потомка сначала вызовет ошибку
Подсветка \ База данных \QueryException: SQLSTATE [HY000]: общая ошибка: 1005 Невозможно создать таблицу database
. child
(номер ошибки: 150 «Неправильно сформировано ограничение внешнего ключа»)
Поэтому необходимо выполнить миграциюсначала родитель
Например, представьте, что у пользователя есть домашнее животное (домашнее животное)
У нас будет users
таблица и pets
таблица настроек
Schema::create('pets', function (Blueprint $table) {
$table->bigIncrements('id');
$table->unsignedBigInteger('user_id');
$table->foreign('user_id')->references('id')->on('users');
$table->timestamps();
});
Если имя файла для миграции домашних животных -
2013_11_06_151235_create_pets_table.php
И имя файла для миграции users
-
2014_10_12_000000_create_users_table.php
Вы получите сообщение об ошибке выше, поэтому вам придется переименоватьpets
файл переноса таблицы на дату позже, чем дата из users
, например
2015_11_06_151235_create_pets_table.php
Поскольку Laravel попытается создать таблицу базы данных со столбцом, ссылающимся на столбец втаблица, которая еще не существует
Надеюсь, это поможет