[英]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所展示的內容:
你有什么是正確的。
注意 :您不必指定索引的名字。 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.