# HG changeset patch # User RhodeCode Admin # Date 2023-08-29 08:12:07 # Node ID 19fefcb83fe3cac9feacbf23d5da4ef42594e44c # Parent 86c1ad256ac15cd64ddff0dc813292b673df7a73 engine: use new visitor-callable from latest version diff --git a/rhodecode/lib/dbmigrate/migrate/changeset/schema.py b/rhodecode/lib/dbmigrate/migrate/changeset/schema.py --- a/rhodecode/lib/dbmigrate/migrate/changeset/schema.py +++ b/rhodecode/lib/dbmigrate/migrate/changeset/schema.py @@ -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= 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