Comme mentionné ci-dessus, vous ne pouvez pas modifier l'énumération dans le bloc de transaction. Mais vous pouvez en créer un nouveau. Voici les étapes :
- Modifier le type de request_type en varchar pour toutes les colonnes/tables qui utilisent ce type :
ALTER TABLE table_name
ALTER COLUMN column_name TYPE VARCHAR(255);
- Déposez et recréez request_type énumération :
DROP TYPE IF EXISTS request_type;
CREATE TYPE request_type AS ENUM (
'OLD_VALUE_1',
'OLD_VALUE_2',
'NEW_VALUE_1',
'NEW_VALUE_2'
);
- Rétablir le type de varchar à request_type pour toutes les colonnes/tables (inversez la première étape) :
ALTER TABLE table_name
ALTER COLUMN column_name TYPE request_type
USING (column_name::request_type);