Создание миграции Laravel с двумя первичными ключами: методы и примеры кода

Чтобы создать миграцию Laravel с двумя первичными ключами, вы можете использовать один из следующих методов:

Метод 1: использование методов primary()и index()

Schema::create('your_table', function (Blueprint $table) {
    $table->string('first_primary_key');
    $table->string('second_primary_key');

    $table->primary(['first_primary_key', 'second_primary_key']);
    $table->index('first_primary_key');
    $table->index('second_primary_key');
});

Метод 2: использование методов primary()и unique()

Schema::create('your_table', function (Blueprint $table) {
    $table->string('first_primary_key')->unique();
    $table->string('second_primary_key')->unique();

    $table->primary(['first_primary_key', 'second_primary_key']);
});

Метод 3: использование метода primary()с отдельными методами index()

Schema::create('your_table', function (Blueprint $table) {
    $table->string('first_primary_key');
    $table->string('second_primary_key');

    $table->primary('first_primary_key');
    $table->index('first_primary_key');

    $table->index('second_primary_key');
});

Метод 4. Использование метода primary()с отдельными методами unique()

Schema::create('your_table', function (Blueprint $table) {
    $table->string('first_primary_key')->unique();
    $table->string('second_primary_key')->unique();

    $table->primary('first_primary_key');
});