Когда я создаю таблицу с миграцией Sqitch, я хочу инициализировать ее начало SERIAL PRIMARY KEY
чем-то отличным от 1
. Однако по какой-то причине команда ALTER SEQUENCE
, похоже, не оказывает никакого влияния.
Моя миграция развертывания выглядит примерно так:
BEGIN;
CREATE TABLE "user" (
"id" SERIAL PRIMARY KEY,
... more columns ...
);
ALTER SEQUENCE "user_id_seq" RESTART WITH 12345;
COMMIT;
После успешного выполнения описанной выше миграции Столбец id
первой строки, вставляемой в мою таблицу user
, имеет значение 1
.
Однако, если я выполню оператор ALTER SEQUENCE "user_id_seq" RESTART WITH 12345;
вручную (после выполнения миграций), следующая Когда я вставляю строку, столбец id
имеет значение 12345
.
Я пытался переместить оператор ALTER SEQUENCE...
в его собственную миграцию, но, похоже, это не имеет никакого положительного эффекта.
Как успешно выполнить оператор ALTER SEQUENCE...
в миграции Sqitch?