Silence error on migration 4736ec66ce19 constraint drop (#5729)

* Silence error on migration 4736ec66ce19 constraint drop

* typo + lint
This commit is contained in:
Maxime Beauchemin 2018-08-28 11:08:47 -07:00 committed by Beto Dealmeida
parent 6cc52c614c
commit f0beb3ab80
1 changed files with 22 additions and 14 deletions

View File

@ -7,13 +7,10 @@ Create Date: 2017-10-03 14:37:01.376578
"""
# revision identifiers, used by Alembic.
revision = '4736ec66ce19'
down_revision = 'f959a6652acd'
import logging
from alembic import op
import sqlalchemy as sa
from sqlalchemy.exc import OperationalError
from superset.utils import (
generic_find_fk_constraint_name,
@ -21,6 +18,9 @@ from superset.utils import (
generic_find_uq_constraint_name,
)
# revision identifiers, used by Alembic.
revision = '4736ec66ce19'
down_revision = 'f959a6652acd'
conv = {
'fk': 'fk_%(table_name)s_%(column_0_name)s_%(referred_table_name)s',
@ -101,16 +101,24 @@ def upgrade():
batch_op.drop_column('datasource_name')
# Drop the old more restrictive uniqueness constraint.
with op.batch_alter_table('datasources', naming_convention=conv) as batch_op:
batch_op.drop_constraint(
generic_find_uq_constraint_name(
'datasources',
{'datasource_name'},
insp,
) or 'uq_datasources_datasource_name',
type_='unique',
)
try:
# Drop the old more restrictive uniqueness constraint.
with op.batch_alter_table('datasources', naming_convention=conv) as batch_op:
batch_op.drop_constraint(
generic_find_uq_constraint_name(
'datasources',
{'datasource_name'},
insp,
) or 'uq_datasources_datasource_name',
type_='unique',
)
except Exception as e:
logging.warning(
'Constraint drop failed, you may want to do this '
'manually on your database. For context, this is a known '
'issue around undeterministic contraint names on Postgres '
'and perhaps more databases through SQLAlchemy.')
logging.exception(e)
def downgrade():