Не могу создать отношения в laravel миграции - PullRequest
0 голосов
/ 22 января 2020

Я пытаюсь установить связь между "user_id" в таблице членов и "id" в таблице пользователей. Получение ошибки: 150 «Ограничение внешнего ключа сформировано неправильно». Я переношу таблицу пользователей перед таблицей участников.

$table->integer('user_id')->unsigned()->nullable();
   $table->foreign('user_id')->references('id')->on('users');

1 Ответ

0 голосов
/ 22 января 2020

Ваш синтаксис правильный, поэтому, вероятно, это одна из пары проблем:

  1. Ваша таблица users фактически не называется users.
  2. Вы действительно создали участников миграции до миграции пользователей, а затем вернулся и отредактировал миграцию участников. Laravel запускает миграцию в порядке метки времени в имени файла, поэтому вам нужно либо отредактировать имя файла вашей миграции участников, либо создать новую миграцию с определением внешнего ключа.
  3. Вы пытаетесь запустить существующие миграции поверх существующей базы данных. Запустите php artisan migrate:refresh, чтобы откатить все и запустить все заново. Имейте в виду, это уничтожит все ваших данных , поэтому убедитесь, что они находятся в тестовой среде.
...