Ошибка миграции laravel 1215

Я делаю миграции и у меня ошибка: * SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL: alter table contacts add constraint contacts_service_id_foreign foreign key (service_id) references services (id) on delete cascade)*

Вот миграция:

`class CreateContactsTable extends Migration{
public function up()
{
    // Список контактов
    Schema::create('contacts', function (Blueprint $table) {
        $table->id();
        $table->integer('service_id')->comment('Ссылка на сервис');
        $table->integer('contact_type_id')->comment('Тип контакта');
        $table->string('value')->comment('Значение контакта (номер телефона, email, имя, etc.)');
        $table->timestampsTz();

        $table->foreign('service_id')
            ->references('id')->on('services')
            ->onDelete('cascade');
        $table->foreign('contact_type_id')
            ->references('id')->on('contact_types')
            ->onDelete('restrict');
    });
}

/**
 * Reverse the migrations.
 *
 * @return void
 */
public function down()
{
    Schema::dropIfExists('contacts');
}

}`

Я понимаю, что у меня может быть порядок создания foreign нарушен?


Ответы (1 шт):

Автор решения: Yaroslav Molchan

У вас реляция ссылается на PK другой таблицы, а в Laravel уже пару версий PK это unsignedBigInteger, так что в вашем случае нужно заменить колонку:

$table->integer('service_id')->comment('Ссылка на сервис');

На:

$table->unsignedBigInteger('service_id')->comment('Ссылка на сервис');
→ Ссылка