Получение следующей ошибки "150" Неправильно сформировано ограничение внешнего ключа "" на консоли - PullRequest
0 голосов
/ 25 марта 2020

Я несколько раз проверял другие проекты и просто не вижу, что не так.

Я прилагаю свой код:

        Schema::table('datos', function (Blueprint $table) {

            $table->bigInteger('sensor_id')->change();
            $table->foreign('sensor_id')->references('id')->on('sensores')->nullable();
    });
}

/**
 * Reverse the migrations.
 *
 * @return void
 */
public function down()
{
    Schema::table('datos', function (Blueprint $table) {
        $table->dropForeign(['sensor_id']);
    });
}

Ответы [ 2 ]

1 голос
/ 26 марта 2020

Ваша функция будет выглядеть так:

public function up()
    {
        Schema::create('datos', function (Blueprint $table) {
            $table->bigIncrements('id');

            $table->bigInteger('sensor_id')->unsigned();
            $table->foreign('sensor_id')->references('id')->on('sensores')->onDelete('cascade');

            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('datos');
    }
0 голосов
/ 26 марта 2020

убедитесь, что sensor_id - unsignedBigInteger, и перед изменением переместите обнуляемый метод

...