首页 > 解决方案 > 迁移中的 Laravel postgresql 序列不起作用

问题描述

我在 laravel 迁移中设置顺序

Schema::create('businesses', function (Blueprint $table) {
            $table->id('business_id');
            $table->string('business_name');
            $table->timestamps();
        });

DB::select("select setval(pg_get_serial_sequence('businesses', 'business_id'), 1000000000 )"); 

迁移后我检查时

select currval('businesses_business_id_seq');
//It returning ERROR:  currval of sequence "businesses_business_id_seq" is not yet defined in this session

如果我在迁移入laravel tinker或迁移后在相同的查询下运行,seeder那么它的工作。

DB::select("select setval(pg_get_serial_sequence('businesses', 'business_id'), 1000000000 )");

所以主要问题是为什么DB::select("select setval(pg_get_serial_sequence('businesses', 'business_id'), 1000000000 )")不在迁移时工作?

标签: laravelpostgresql

解决方案


推荐阅读