ENUM PostgreSQL existentes en Alembic

Si elimina / modifica una tabla o intenta agregar una columna usando un ENUM existente, alambic se quejará:

sqlalchemy.exc.ProgrammingError: (ProgrammingError) type "zone" already exists
"CREATE TYPE zone AS ENUM ('uk_mainland', 'uk_channel_islands' )"

La solución rápida es editar el archivo de migración y agregar

create_type=False

hasta el final del constructor:

sa.Column('zone', postgresql.ENUM('uk_mainland', 'uk_channel_islands', name='zone', create_type=False), nullable=False)

Eso deshabilita el intento de creación y le ahorra tener que eliminar los tipos manualmente.