Ограничение внешнего ключа, даже после использования bigIncrements и unsignedBigInteger - PullRequest
0 голосов
/ 24 октября 2019

поэтому в моей таблице миграции задач я пытаюсь сослаться на ограничение внешнего ключа

Illuminate \ Database \ QueryException: SQLSTATE [HY000]: общая ошибка: 1215 Невозможно добавить ограничение внешнего ключа (SQL: изменить таблицу)tasks добавить ограничение tasks_article_id_foreign ссылки на внешний ключ (article_id) articles (id) при удалении каскада)

Я проследил за ошибкой в ​​Google, она говорит использовать unsignedBigIntegerдля большой ссылки. Я сделал это, но все равно получаю эту ошибку:

Я перешел по этой ссылке: Миграция Laravel Ограничение внешнего ключа неправильно сформировано

Можете ли вы, ребята, указать мне правильное направление?

    {
        Schema::create('tasks', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('title');
            $table->string('task_url');
            $table->string('task_unique_id');
            $table->unsignedBigInteger('user_id')->default(1);
            $table->unsignedBigInteger('article_id')->nullable();
            $table->unsignedBigInteger('project_id')->nullable();
            $table->unsignedBigInteger('category_id')->nullable();
            $table->boolean('is_completed')->default(0);
            $table->timestamps();


            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
            $table->foreign('article_id')->references('id')->on('articles')->onDelete('cascade');
            $table->foreign('project_id')->references('id')->on('projects')->onDelete('cascade');
            $table->foreign('category_id')->references('id')->on('categories')->onDelete('cascade');

        });
    }

1 Ответ

0 голосов
/ 24 октября 2019

Вы можете отключить проверку внешнего ключа перед созданием метода и включить его снова.

{
    Schema::disableForeignKeyConstraints();
    Schema::create('tasks', function (Blueprint $table) {
        ....
    });
    Schema::enableForeignKeyConstraints();
}

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