Yii 2迁移中的FULLTEXT索引

时间:2016-10-14 13:59:20

标签: yii2 database-migration

如何使用Yii 2迁移为字段添加FULLTEXT索引?

没有createFulltextIndexcreateUniqueIndex方法。 Class yii\db\Migration docs

如何使用Yii 2迁移来解决这个问题?

2 个答案:

答案 0 :(得分:7)

FULLTEXT不受支持,因为它是特定于架构的 你仍然可以使用原始SQL。

MySQL示例:

$this->execute("ALTER TABLE table_name ADD FULLTEXT INDEX index_name (column_name ASC)");

答案 1 :(得分:2)

如果某些sql命令未在http://www.yiiframework.com/doc-2.0/yii-db-migration.html类中映射,则可以使用普通的createCommand for sql

例如,如果您想创建一个表作为选择,您可以使用

$sql =" select * from my_table ";

$command = Yii::$app->
         db->createCommand("CREATE UNIQUE INDEX NOT EXISTS MY_NEW_TABLE AS " . $sql);
$command->execute(); 

因此,在您的情况下,您可以执行alter table以添加全文索引

 $command = Yii::$app->
         db->createCommand("ALTER TABLE your_table ADD FULLTEXT INDEX `FullText` (`col1`, `col2` ););"