Laravel: миграция с внешним ключом - PullRequest
0 голосов
/ 03 сентября 2018

Я знаю, что этот вопрос задавался много раз, но я попробовал все решения, и он все еще дает мне ошибку.

Я хочу перенести свои таблицы:

class CreateFichesTable extends Migration
{

public function up()
{
    Schema::create('fiches', function (Blueprint $table) {
        $table->engine = 'InnoDB';
        $table->increments('id');
        $table->string('type');
        $table->string('nom');
        $table->string('description');
        $table->string('image');
        $table->integer('equipe_id')->unsigned();
        $table->timestamps();
    });

    Schema::table('fiches', function(Blueprint $table)
    {
        $table->foreign('equipe_id')->references('id')->on('equipes');
    });
}

}

И

class CreateEquipesTable extends Migration
{

public function up()
{
    Schema::create('equipes', function (Blueprint $table) {;
        $table->increments('id');
        $table->string('nom');
        $table->string('image');
        $table->timestamps();
    });
}

}

И я получаю:

Exception trace:

1   PDOException::("SQLSTATE[HY000]: General error: 1215 Cannot add foreign 
key constraint")

Я пытался принудительно использовать двигатель "InnoDB", но все еще не работал.

Любой совет?

1 Ответ

0 голосов
/ 03 сентября 2018

Когда вы создаете новый файл миграции, автоматически добавляется laravel в дату и время начала, как это 2018_08_10_111004_, чтобы определить, какую миграцию необходимо создать в первую очередь. Как вы показываете в комментариях, ваши файлы миграции имеют 2018_08_31_141536_create_fiches_table.php и 2018_09_03_141649_create_equipes_table.php, вы должны изменить одну из этих миграций для первой, называемой второй миграцией первой.
Например

2018_08_31_141536_create_fiches_table.php 
2018_08_30_141649_create_equipes_table.php
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...