FuelPHP MigrationでMroongaのラッパーモードを利用する
FuelPHPのマイグレーションでMroongaのラッパーモードを利用したテーブルを作成する方法です。
備忘録として書いておきます。
Mroongaのラッパーモードを利用するには、テーブルオプションを ENGINE = Mroonga COMMENT = 'engine "InnoDB"'
のように指定する必要があります。
DBUtil::create_table メソッドの第5引数 $engineでストレージエンジンの指定は可能なのですが、コメントの指定をどうしようかと悩んでいました。
create_tableメソッドのソースを読んでみると、$engineはエスケープなども行われずにそのまま文字列結合しているようなので、COMMENT
も一緒にぶち込むことにしました。
見た目は良くないですが、Coreを拡張するのも面倒なので…
class Create_test
{
public function up()
{
\DBUtil::create_table('test', array(
'id' => array('constraint' => 11, 'type' => 'int', 'auto_increment' => true, 'unsigned' => true),
'content' => array('constraint' => 255, 'type' => 'varchar'),
), array('id'), false, "Mroonga COMMENT = 'engine \"InnoDB\"'", 'utf8mb4_general_ci');
\DBUtil::create_index('test', 'content', 'idx_content', 'fulltext');
}
public function down()
{
\DBUtil::drop_table('test');
}
}
他に良い方法があれば是非教えてくださいー