laravelのmigrationでindexを作成する

mysqlでインデックスを追加するケースが多々あるかと思います。例えば以下のように、UNIQUEなど。

create table account(
  id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,
  login_id VARCHAR(256) UNIQUE,
)

laravelではuniqueは以下のように書きます。

$table->string('login_id', 256)->unique();

簡単じゃーん!

Laravelで使用できるIndex
$table->primary(‘id’); 主キー追加
$table->primary([‘id’], ‘parent_id’);
$table->unique(’email’); uniqueキー追加
$table->index(‘state’); 基本的なインデックス
$table->spatialIndex(‘location’); 空間インデックス追加


primary、uniqueは必須でしょうね。