簡體   English   中英

Laravel 5 - 遷移中的復合鍵索引

[英]Laravel 5 - Composite key indexes in migrations

復合索引是我沒有完全體驗過的主題,我不確定我是否做得對嗎? 或者,如果Laravel在遷移時正確解析我的代碼。 這看起來是否正確?

Schema::create('friends', function(Blueprint $table)
{
    $table->increments('id');
    $table->integer('requester_id')->unsigned();
    $table->integer('requestee_id')->unsigned();
    $table->timestamps();

    $table->foreign('requester_id')->references('id')->on('users');
    $table->foreign('requestee_id')->references('id')->on('users');

    $table->unique(['requester_id', 'requestee_id'], 'composite_index');
});

以下是Sequel Pro所展示的內容:

http://i.imgur.com/5A4LZH3.png

你有什么是正確的。


注意 :您不必指定索引的名字。 Laravel將根據索引的列自動為您生成名稱。

這是我的例子:為每個用戶user_id創建唯一的external_id

    Schema::create('orders', function (Blueprint $table) {
        $table->increments('id');

        $table->string('external_id')->nullable();
        $table->unique(['external_id', 'user_id']); // <<---------

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

        // ...
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM