Yii 2 迁移中的全文索引
FULLTEXT index in Yii 2 migrations
如何使用 Yii2 迁移为字段添加 FULLTEXT
索引?
没有 createFulltextIndex
或 createUniqueIndex
方法。 Class yii\db\Migration
docs.
如何使用 Yii2 迁移解决这个问题?
FULLTEXT
不受支持,因为它是特定于架构的。
您仍然可以为此使用原始 SQL 。
MySQL 示例:
$this->execute("ALTER TABLE table_name ADD FULLTEXT INDEX index_name (column_name ASC)");
如果某些 sql 命令未映射到 http://www.yiiframework.com/doc-2.0/yii-db-migration.html class 您可以使用 sql
的普通 createCommand
例如,如果您想创建一个 table 作为 select,您可以使用
$sql =" select * from my_table ";
$command = Yii::$app->
db->createCommand("CREATE UNIQUE INDEX NOT EXISTS MY_NEW_TABLE AS " . $sql);
$command->execute();
因此在您的情况下,您可以执行更改 table 以添加全文索引
$command = Yii::$app->
db->createCommand("ALTER TABLE your_table ADD FULLTEXT INDEX `FullText` (`col1`, `col2` ););"
如何使用 Yii2 迁移为字段添加 FULLTEXT
索引?
没有 createFulltextIndex
或 createUniqueIndex
方法。 Class yii\db\Migration
docs.
如何使用 Yii2 迁移解决这个问题?
FULLTEXT
不受支持,因为它是特定于架构的。
您仍然可以为此使用原始 SQL 。
MySQL 示例:
$this->execute("ALTER TABLE table_name ADD FULLTEXT INDEX index_name (column_name ASC)");
如果某些 sql 命令未映射到 http://www.yiiframework.com/doc-2.0/yii-db-migration.html class 您可以使用 sql
的普通 createCommand例如,如果您想创建一个 table 作为 select,您可以使用
$sql =" select * from my_table ";
$command = Yii::$app->
db->createCommand("CREATE UNIQUE INDEX NOT EXISTS MY_NEW_TABLE AS " . $sql);
$command->execute();
因此在您的情况下,您可以执行更改 table 以添加全文索引
$command = Yii::$app->
db->createCommand("ALTER TABLE your_table ADD FULLTEXT INDEX `FullText` (`col1`, `col2` ););"