在Laravel 4 Migrations中使用PostgreSQL添加全文索引

时间:2014-02-11 13:01:33

标签: php postgresql laravel laravel-4

我试图在我的迁移中向表中添加全文索引,但我无法使其正常工作。我试过的代码不会出错,甚至可以在我的SQL管理器中运行时运行,但在调用migrate命令时不会创建索引。

以下命令是要运行的列表中的最后一个文件。

我尝试了以下内容,评论和取消评论:

public function up()
{
    //DB::raw('create index qsearch on questions (question)');
    DB::raw('CREATE INDEX question_fulltext_idx ON questions USING gin(to_tsvector("english", question))');
}

表格为questions,列为question

我做错了什么?

2 个答案:

答案 0 :(得分:2)

似乎我使用了错误的引号,现在可行了:

DB::statement("CREATE INDEX question_fulltext_idx ON questions USING gin(to_tsvector('english', question))");

答案 1 :(得分:0)

我不知道CREATE INDEX ..查询本身。但是你实际上并没有在数据库中再次运行查询。

这会“创建”一个原始查询:

DB::raw('CREATE INDEX question_fulltext_idx ON questions USING gin(to_tsvector("english", question))');

然后,新创建的原始查询将在另一个查询中使用。

这实际上是针对数据库运行您的语句:

DB::statement('CREATE INDEX question_fulltext_idx ON questions USING gin(to_tsvector("english", question))');

我希望这可以帮到你!