laravel迁移文件创建表索引

最近在优化数据表

主要是没有加索引

在laravel框架中如何添加索引

执行

`php artisan make:migration alter_table_user_shop_add_index_user_id_brand_id`

```
index(['user_id', 'brand_id']);
});
}

/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('user_shop', function (Blueprint $table) {
$table->dropIndex(['user_id', 'brand_id']);
});
}
}

```

然后执行命令

`php artisan migrate --path=database/migrations/2023_01_10_181358_alter_table_user_shop_add_index_user_id_brand_id.php`

即可为表创建索引`hl_organization_user_shop_organization_user_id_brand_id_index`

结构构造器支持多种类型的索引。
首先,让我们先来看看一个示例,其指定了字段的值必须是唯一的。你可以简单的在字段定义之后链式调用 unique 方法来创建索引:
$table->string('email')->unique();
此外,你也可以在定义完字段之后创建索引。例如:
$table->unique('email');
你也可以传递一个字段的数组至索引方法来创建复合索引:
$table->index(['account_id', 'created_at']);

可用的索引类型
命令 描述
$table->primary('id'); 加入主键。
$table->primary(['first', 'last']); 加入复合键。
$table->unique('email'); 加入唯一索引。
$table->unique('state', 'my_index_name'); 自定义索引名称。
$table->index('state'); 加入基本索引。

移除索引
若要移除索引,则必须指定索引的名称。Laravel 默认会自动给索引分配合理的名称。其将数据表名称,索引的字段名称,及索引类型简单地连接在了一起。举例如下:
命令 描述
$table->dropPrimary('users_id_primary'); 从「users」数据表移除主键。
$table->dropUnique('users_email_unique'); 从「users」数据表移除唯一索引。
$table->dropIndex('geo_state_index'); 从「geo」数据表移除基本索引。

如果你对 dropIndex 传参索引数组,默认的约定是索引名称由数据库表名字和键名拼接而成:
Schema::table('geo', function ($table) { $table->dropIndex(['state']); // Drops index 'geo_state_index' });

更多查看`http://t.zoukankan.com/redirect-p-6215081.html`

    A+
发布日期:2023年01月10日  所属分类:未分类

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: