Jak bylo zmíněno výše, v rámci transakčního bloku nemůžete upravovat enum. Ale můžete vytvořit nový. Zde jsou kroky:
- Změňte typ z request_type na varchar pro všechny sloupce/tabulky, které používají tento typ:
ALTER TABLE table_name
ALTER COLUMN column_name TYPE VARCHAR(255);
- Přetáhněte a znovu vytvořte request_type enum:
DROP TYPE IF EXISTS request_type;
CREATE TYPE request_type AS ENUM (
'OLD_VALUE_1',
'OLD_VALUE_2',
'NEW_VALUE_1',
'NEW_VALUE_2'
);
- Vrátit typ z varchar na request_type pro všechny sloupce/tabulky (vrátit krok 1):
ALTER TABLE table_name
ALTER COLUMN column_name TYPE request_type
USING (column_name::request_type);