Show More
@@ -138,7 +138,7 b' def alter_column(*p, **k):' | |||||
138 | delta = ColumnDelta(*p, **k) |
|
138 | delta = ColumnDelta(*p, **k) | |
139 |
|
139 | |||
140 | visitorcallable = get_engine_visitor(engine, 'schemachanger') |
|
140 | visitorcallable = get_engine_visitor(engine, 'schemachanger') | |
141 |
|
|
141 | _run_visitor(engine, visitorcallable, delta) | |
142 |
|
142 | |||
143 | return delta |
|
143 | return delta | |
144 |
|
144 | |||
@@ -167,6 +167,20 b' def _to_index(index, table=None, engine=' | |||||
167 | return ret |
|
167 | return ret | |
168 |
|
168 | |||
169 |
|
169 | |||
|
170 | def _run_visitor( | |||
|
171 | connectable, visitorcallable, element, connection=None, **kwargs | |||
|
172 | ): | |||
|
173 | if connection is not None: | |||
|
174 | visitorcallable( | |||
|
175 | connection.dialect, connection, **kwargs).traverse_single(element) | |||
|
176 | else: | |||
|
177 | conn = connectable.connect() | |||
|
178 | try: | |||
|
179 | visitorcallable( | |||
|
180 | conn.dialect, conn, **kwargs).traverse_single(element) | |||
|
181 | finally: | |||
|
182 | conn.close() | |||
|
183 | ||||
170 |
|
184 | |||
171 | # Python3: if we just use: |
|
185 | # Python3: if we just use: | |
172 | # |
|
186 | # | |
@@ -568,7 +582,7 b' populated with defaults' | |||||
568 | self.add_to_table(table) |
|
582 | self.add_to_table(table) | |
569 | engine = self.table.bind |
|
583 | engine = self.table.bind | |
570 | visitorcallable = get_engine_visitor(engine, 'columngenerator') |
|
584 | visitorcallable = get_engine_visitor(engine, 'columngenerator') | |
571 |
|
|
585 | _run_visitor(engine, visitorcallable, self, connection, **kwargs) | |
572 |
|
586 | |||
573 | # TODO: reuse existing connection |
|
587 | # TODO: reuse existing connection | |
574 | if self.populate_default and self.default is not None: |
|
588 | if self.populate_default and self.default is not None: | |
@@ -589,7 +603,7 b' populated with defaults' | |||||
589 | self.table = table |
|
603 | self.table = table | |
590 | engine = self.table.bind |
|
604 | engine = self.table.bind | |
591 | visitorcallable = get_engine_visitor(engine, 'columndropper') |
|
605 | visitorcallable = get_engine_visitor(engine, 'columndropper') | |
592 |
|
|
606 | _run_visitor(engine, visitorcallable, self, connection, **kwargs) | |
593 | self.remove_from_table(self.table, unset_table=False) |
|
607 | self.remove_from_table(self.table, unset_table=False) | |
594 | self.table = None |
|
608 | self.table = None | |
595 | return self |
|
609 | return self |
General Comments 0
You need to be logged in to leave comments.
Login now