【发布时间】:2020-01-15 04:30:32
【问题描述】:
当我使用 Sqitch 迁移创建表时,我想用 1 以外的其他值初始化它的起始 SERIAL PRIMARY KEY。但是,由于某种原因,ALTER SEQUENCE 命令似乎没有任何效果。
我的部署迁移如下所示:
BEGIN;
CREATE TABLE "user" (
"id" SERIAL PRIMARY KEY,
... more columns ...
);
ALTER SEQUENCE "user_id_seq" RESTART WITH 12345;
COMMIT;
当上述迁移成功运行后,我插入user 表的第一行的id 列的值为1。
但是,如果我手动执行 ALTER SEQUENCE "user_id_seq" RESTART WITH 12345; 语句(在迁移运行之后),我插入的下一行 id 列的值是 12345。
我已尝试将ALTER SEQUENCE... 语句移到它自己的迁移中,但这似乎没有任何积极作用。
如何在 Sqitch 迁移中成功执行 ALTER SEQUENCE... 语句?
【问题讨论】:
标签: postgresql sqitch