Laravel Schema Builder 部分索引

问题描述 投票:0回答:1

如何使用 Laravel 5.2 的 Schema Builder 创建部分索引?

例如,除了查询

create index alternate_listing_not_null on listings(alternate_listings_id) where alternate_listings_id is not null
,我将如何使用架构生成器语法来执行此操作?

我使用的是 PostgreSQL 9.4。

laravel laravel-5 laravel-schema-builder
1个回答
0
投票

我不确定您可以...使用架构生成器。但是,您可以在迁移中使用原始语句。

我不确定

DB::statement
是否存在于 5.2 中,但如果不存在,
DB::select
应该也能工作。

class AddPartialIndex extends Migration
{
    public function up()
    {
        DB::statement('create index alternate_listing_not_null on listings(alternate_listings_id) where alternate_listings_id is not null');
    }

    public function down()
    {
        DB::statement('drop index if exists alternate_listing_not_null');
    }
}

由于它位于迁移文件中,您仍然可以获得迁移的所有好处(迁移、回滚)。

© www.soinside.com 2019 - 2024. All rights reserved.