engine: use new visitor-callable from latest version
This commit is contained in:
parent
378a25a911
commit
1222be1283
1 changed files with 17 additions and 3 deletions
|
|
@ -138,7 +138,7 @@ def alter_column(*p, **k):
|
|||
delta = ColumnDelta(*p, **k)
|
||||
|
||||
visitorcallable = get_engine_visitor(engine, 'schemachanger')
|
||||
engine._run_visitor(visitorcallable, delta)
|
||||
_run_visitor(engine, visitorcallable, delta)
|
||||
|
||||
return delta
|
||||
|
||||
|
|
@ -167,6 +167,20 @@ def _to_index(index, table=None, engine=None):
|
|||
return ret
|
||||
|
||||
|
||||
def _run_visitor(
|
||||
connectable, visitorcallable, element, connection=None, **kwargs
|
||||
):
|
||||
if connection is not None:
|
||||
visitorcallable(
|
||||
connection.dialect, connection, **kwargs).traverse_single(element)
|
||||
else:
|
||||
conn = connectable.connect()
|
||||
try:
|
||||
visitorcallable(
|
||||
conn.dialect, conn, **kwargs).traverse_single(element)
|
||||
finally:
|
||||
conn.close()
|
||||
|
||||
|
||||
# Python3: if we just use:
|
||||
#
|
||||
|
|
@ -568,7 +582,7 @@ populated with defaults
|
|||
self.add_to_table(table)
|
||||
engine = self.table.bind
|
||||
visitorcallable = get_engine_visitor(engine, 'columngenerator')
|
||||
engine._run_visitor(visitorcallable, self, connection, **kwargs)
|
||||
_run_visitor(engine, visitorcallable, self, connection, **kwargs)
|
||||
|
||||
# TODO: reuse existing connection
|
||||
if self.populate_default and self.default is not None:
|
||||
|
|
@ -589,7 +603,7 @@ populated with defaults
|
|||
self.table = table
|
||||
engine = self.table.bind
|
||||
visitorcallable = get_engine_visitor(engine, 'columndropper')
|
||||
engine._run_visitor(visitorcallable, self, connection, **kwargs)
|
||||
_run_visitor(engine, visitorcallable, self, connection, **kwargs)
|
||||
self.remove_from_table(self.table, unset_table=False)
|
||||
self.table = None
|
||||
return self
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue