Postgres: изменение типа колонки с boolean на integer
Возникла необходимость изменить тип колонки в Postgres. Вот запрос для смены типа колонки и краткий разбор:
-- делаем default value в null, поскольку это универсальное значение ALTER TABLE work_shifts ALTER status SET DEFAULT NULL; ALTER TABLE work_shifts -- меняем тип ALTER status TYPE INTEGER -- конвертируем данные USING CASE WHEN 'f' THEN 0 ELSE 1 END; -- устанавливаем значение по умолчанию согласно новому типу данных ALTER TABLE work_shifts ALTER status SET DEFAULT 0;
Опубликовано
10.10.2021