概要
LaravelでMongoDBを使用する時に、jenssegers/laravel-mongodbというライブラリを使用するケースが多いと思います。このライブラリでもdbのmigrateは可能なのですが、複合インデックスが設定できるか試してみました。
参考
@komatzzさんのLaravel のマイグレーションで複合インデックスにしつつインデックス名を指定する方法
の記事を参考に、MongoDB用にマイグレーションファイルを編集して試してみました。
マイグレーションファイル
普通のインデックスとuniqueインデックスを設定。
2019_08_01_164256_initial_collections.php
<?php
use Jenssegers\Mongodb\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class InitialCollections extends Migration
{
protected $connection = 'mongodb';
public function up()
{
Schema::connection($this->connection)
->table('index_sample', function (Blueprint $collection)
{
$collection->index(['index1', 'index2']);
$collection->unique(['unique1', 'unique2']);
});
}
}