# HG changeset patch # User Tom Gottfried # Date 1585073646 -3600 # Node ID 13fff84c2b7081c6434f8cbca56022ac4102e963 # Parent 4e85cf143c4a5862557a4e48e663f2495710f4f9 Fix database migration diff -r 4e85cf143c4a -r 13fff84c2b70 schema/updates/1431/01.add_state.sql --- a/schema/updates/1431/01.add_state.sql Tue Mar 24 18:23:24 2020 +0100 +++ b/schema/updates/1431/01.add_state.sql Tue Mar 24 19:14:06 2020 +0100 @@ -1,1 +1,19 @@ -ALTER TYPE import_state ADD VALUE 'reviewed'; +-- DROP and re-CREATE type because adding a value isn't possible in transaction +-- https://www.postgresql.org/docs/11/sql-altertype.html#id-1.9.3.42.7 + +ALTER TABLE import.imports + ALTER COLUMN state DROP DEFAULT, + ALTER COLUMN state TYPE varchar; + +DROP TYPE import_state; + +CREATE TYPE import_state AS ENUM ( + 'queued', + 'running', + 'failed', 'unchanged', 'pending', + 'accepted', 'declined', 'reviewed' +); + +ALTER TABLE import.imports + ALTER COLUMN state TYPE import_state USING CAST(state AS import_state), + ALTER COLUMN state SET DEFAULT 'queued';