Cleanup add_index/drop_index

This commit is contained in:
mvdbeek
2020-10-02 11:41:37 +02:00
parent d97606186c
commit 3af877573a
+4 -6
View File
@@ -56,6 +56,7 @@ def truncate_index_name(index_name, engine):
index_name = "{trunc}_{suffix}".format(trunc=index_name[0 : max_index_name_length - 8], suffix=suffix)
return index_name
def create_table(table):
try:
table.create()
@@ -144,9 +145,6 @@ def add_index(index_name, table, column_name, metadata=None, **kwds):
:param metadata: Needed only if ``table`` is a table name
:type metadata: :class:`Metadata`
"""
if len(index_name) > 63 and metadata.bind.name in ('postgres', 'postgresql'):
suffix = hashlib.md5(index_name.encode('utf-8')).hexdigest()[-4:]
try:
if not isinstance(table, Table):
assert metadata is not None
@@ -181,9 +179,9 @@ def drop_index(index, table, column_name=None, metadata=None):
if not isinstance(table, Table):
assert metadata is not None
table = Table(table, metadata, autoload=True)
index = truncate_index_name(index, table.metadata.bind)
if index in [ix.name for ix in table.indexes]:
index = Index(index, table.c[column_name])
index_name = truncate_index_name(index, table.metadata.bind)
if index_name in [ix.name for ix in table.indexes]:
index = Index(index_name, table.c[column_name])
else:
log.debug("Index '%s' in table '%s' does not exist.", index, table)
return