diff --git a/migrations/versions/2021_082012_424808e1fe49_.py b/migrations/versions/2021_082012_424808e1fe49_.py index 2038c5e3..ffb61f96 100644 --- a/migrations/versions/2021_082012_424808e1fe49_.py +++ b/migrations/versions/2021_082012_424808e1fe49_.py @@ -8,7 +8,8 @@ Create Date: 2021-08-20 12:11:57.901994 import sqlalchemy_utils from alembic import op import sqlalchemy as sa - +from psycopg2 import errors +from psycopg2.errorcodes import DUPLICATE_OBJECT # revision identifiers, used by Alembic. revision = '424808e1fe49' @@ -19,7 +20,14 @@ depends_on = None def upgrade(): # ### commands auto generated by Alembic - please adjust! ### - op.execute('CREATE EXTENSION pg_trgm') + try: + op.execute('CREATE EXTENSION pg_trgm') + # thanks to https://stackoverflow.com/a/58743364/1428034 ! + except sa.exc.ProgrammingError as e: + if isinstance(e.orig, errors.lookup(DUPLICATE_OBJECT)): + print(">>> pg_trgm already loaded, ignore") + op.execute("Rollback") + op.create_index('note_pg_trgm_index', 'alias', ['note'], unique=False, postgresql_ops={'note': 'gin_trgm_ops'}, postgresql_using='gin') # ### end Alembic commands ###