ENUMs PostgreSQL existentes no Alembic

Se você remover / modificar uma tabela ou tentar adicionar uma coluna usando um ENUM existente, o alambique reclamará:

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

A solução rápida é editar o arquivo de migração e adicionar

create_type=False

até o final do construtor:

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

Isso desativa a tentativa de criação e evita que você tenha que descartar os tipos manualmente.