]> git.ipfire.org Git - thirdparty/sqlalchemy/alembic.git/commitdiff
fix partial ordering 646/head
authorMarcin Szymanski <ms32035@gmail.com>
Thu, 23 Jan 2020 14:50:12 +0000 (14:50 +0000)
committerMarcin Szymanski <ms32035@gmail.com>
Thu, 23 Jan 2020 14:50:12 +0000 (14:50 +0000)
alembic/operations/batch.py
tests/test_batch.py

index b5697047706cb5a733c810499fccbb798bffbd18..eb10516a20955db1a9747c6f18fd327aafbec5cc 100644 (file)
@@ -212,15 +212,10 @@ class ApplyBatchImpl(object):
         self.columns = OrderedDict(
             (k, self.columns[k]) for k in sorted_
         )
-        #self.dest_column_transfers = self.column_transfers
-        #print(self.column_transfers)
-        #print(self.column_transfers)
-        #sorted_ = topological.sort(pairs, col_by_idx, deterministic_order=True)
-        #self.dest_column_transfers = OrderedDict(
-        #    (k, self.column_transfers[k]) for k in sorted_
-        #)
-        #print(self.dest_column_transfers)
-
+        sorted_ = topological.sort(pairs, col_by_idx, deterministic_order=True)
+        self.column_transfers = OrderedDict(
+            (k, self.column_transfers[k]) for k in sorted_
+        )
 
     def _transfer_elements_to_new_table(self):
         assert self.new_table is None, "Can only create new table once"
@@ -230,8 +225,6 @@ class ApplyBatchImpl(object):
 
         if self.partial_reordering:
             self._adjust_self_columns_for_partial_reordering()
-        # else:
-        #     self.dest_column_transfers = self.column_transfers
 
         self.new_table = new_table = Table(
             self.temp_table_name,
index 0eab5129d1355212e2359e8c483c3060afe9e91d..14032e9091d25f89d662b777dc811ed997a6f0ef 100644 (file)
@@ -477,10 +477,9 @@ class BatchApplyTest(TestBase):
 
     # TODO: doesn't work, don't know why
     def test_partial_reordering(self):
-        # MARKMARK
         impl = self._simple_fixture(partial_reordering=[("x", "id", "y")])
         new_table = self._assert_impl(impl, colnames=["x", "id", "y"])
-        eq_(new_table.c.g.name, "g")
+        eq_(new_table.c.x.name, "x")
 
     def test_add_server_default(self):
         impl = self._simple_fixture()