-
Notifications
You must be signed in to change notification settings - Fork 21
Description
При обновлении таблиц с полями типа serial и включенной опции "Мигрировать данные при пересоздании таблиц", скрипт миграции ломается на удалении привязанной к таблице sequence (строка 12 в приведенном примере)
2025-11-24 09'32'57 migration for devel.sql
и в результате получаем неработоспособную базу данных, нужной таблицы нет, повторная попытка провести обновление безвозвратно удаляет временную таблицу с нужными данными.
Как решение, возможно стоит вместо:
DROP SEQUENCE public.period_rid_seq;
использовать:
ALTER SEQUENCE public.period_rid_seq RENAME TO period_rid_seq_xxxxx;
И поскольку для обновленной таблицы создаётся новая sequence, желательно после вставки данных в новую таблицу обновить счетчик последовательности, например:
SELECT setval('public.period_rid_seq', (SELECT MAX(rid) FROM public.period));