Php Laravel 5-迁移中的复合关键索引
综合指数是一个我没有完全经验的主题,我不确定我是否做对了?或者如果Laravel在迁移时正确解析了我的代码。这看起来对吗Php Laravel 5-迁移中的复合关键索引,php,laravel,laravel-5,Php,Laravel,Laravel 5,综合指数是一个我没有完全经验的主题,我不确定我是否做对了?或者如果Laravel在迁移时正确解析了我的代码。这看起来对吗 Schema::create('friends', function(Blueprint $table) { $table->increments('id'); $table->integer('requester_id')->unsigned(); $table->integer('requestee_id')->uns
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将根据被索引的列自动为您生成一个名称。以下是我的示例:为每个用户创建唯一的
外部\u 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');
// ...
});
Schema::创建('orders',函数(Blueprint$表){
$table->increments('id');
$table->string('external_id')->nullable();
$table->unique(['external_id','user_id']);//unsigned()->index();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
// ...
});
谢谢,我为这个名字编了索引,以便在图片中更容易理解。