如何使用Yii 2迁移为字段添加FULLTEXT
索引?
没有createFulltextIndex
或createUniqueIndex
方法。 Class yii\db\Migration
docs
如何使用Yii 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` ););"