From: Mike Bayer Date: Tue, 26 Nov 2019 16:09:00 +0000 (-0500) Subject: Don't clear metadata in TablesTest setup X-Git-Tag: rel_1_4_0b1~611 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d9e43c518f90c0a79c05d7e6ea2559aef5157f52;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git Don't clear metadata in TablesTest setup Some upcoming commits will make use of @metadata_fixture within a TablesTest class. As the fixture takes place before setup, remove anything in setup that would interfere with it. Change-Id: I4f16889c4c02cb2835dcf4886eb09ece848d8109 References: I507bc405eee6cae2c5991345d0eac53a37fe7512 --- diff --git a/lib/sqlalchemy/testing/fixtures.py b/lib/sqlalchemy/testing/fixtures.py index 04d09f8dd2..7e2719853b 100644 --- a/lib/sqlalchemy/testing/fixtures.py +++ b/lib/sqlalchemy/testing/fixtures.py @@ -120,16 +120,11 @@ class TablesTest(TestBase): def _setup_each_tables(self): if self.run_define_tables == "each": - self.tables.clear() - if self.run_create_tables == "each": - drop_all_tables(self.metadata, self.bind) - self.metadata.clear() self.define_tables(self.metadata) if self.run_create_tables == "each": self.metadata.create_all(self.bind) self.tables.update(self.metadata.tables) elif self.run_create_tables == "each": - drop_all_tables(self.metadata, self.bind) self.metadata.create_all(self.bind) def _setup_each_inserts(self): @@ -138,6 +133,14 @@ class TablesTest(TestBase): self.insert_data() def _teardown_each_tables(self): + if self.run_define_tables == "each": + self.tables.clear() + if self.run_create_tables == "each": + drop_all_tables(self.metadata, self.bind) + self.metadata.clear() + elif self.run_create_tables == "each": + drop_all_tables(self.metadata, self.bind) + # no need to run deletes if tables are recreated on setup if self.run_define_tables != "each" and self.run_deletes == "each": with self.bind.connect() as conn: