Миграция Laravel не может создать внешний ключ - PullRequest
0 голосов
/ 31 мая 2019

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

1 ° таблица:

Schema::create('cooperados', function (Blueprint $table) {
        $table->bigIncrements('id');
        $table->timestamps();
        $table->string('nameCoop', 255);
        $table->integer('numCoop');
        $table->string('cpfCoop', 11);
        $table->date('dtCad');
        $table->date('dtDem')->nullable();
        $table->text('description')->nullable();
        $table->decimal('subscritas', 6, 2);
        $table->decimal('integralizadas', 6,2)->nullable();
        $table->decimal('aintegralizar', 6,2)->nullable();
        $table->enum('status', ['ativo','inativo'])->default('ativo');
    });

таблица внешних ключей

public function up()
    {
        Schema::create('mov', function (Blueprint $table) {
            $table->bigIncrements('idMov');
            $table->timestamps();
            $table->integer('id_coop')->unsigned;
            $table->foreign('id_coop')->references('id')->on('cooperados');
            $table->decimal('valor', 6, 2);
        });
    }

1 Ответ

1 голос
/ 31 мая 2019

Измените свой код с

$table->integer('id_coop')->unsigned;
$table->foreign('id_coop')->references('id')->on('cooperados');

Кому:

$table->unsignedBigInteger('id_coop')->index();
$table->foreign('id_coop')->references('id')->on('cooperados')->onDelete('cascade');

Или вы также можете использовать ниже код

 $table->integer('id_coop')->unsigned()->index();
 $table->foreign('id_coop')->references('id')->on('cooperados')->onDelete('cascade');

Или также вы можете использовать ниже

$table->bigInteger('id_coop')->unsigned()->index();
$table->foreign('id_coop')->references('id')->on('cooperados')->onDelete('cascade');
...