]> git.ipfire.org Git - thirdparty/sqlalchemy/alembic.git/commitdiff
Get test compat for oracle
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 4 Jan 2017 16:24:26 +0000 (11:24 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 9 Jan 2017 18:36:15 +0000 (13:36 -0500)
Start getting all the exclusions and conventions in place
to get the autogen suites to pass against the oracle dialect

Change-Id: I63b8c46311af4fc77da6baf17b628a64e9748f85

alembic/autogenerate/compare.py
alembic/testing/plugin/plugin_base.py
alembic/testing/plugin/pytestplugin.py
alembic/testing/provision.py
alembic/testing/requirements.py
reap_oracle_dbs.py
tests/requirements.py
tests/test_autogen_fks.py
tox.ini

index 1b721b037136a48ad2deb61727b0b9b65c9747c0..c3d945282c7814fa67b55834c9442ffe5668b85f 100644 (file)
@@ -373,6 +373,11 @@ def _compare_indexes_and_uniques(
                 supports_unique_constraints = True
             except NotImplementedError:
                 pass
+            except TypeError:
+                # number of arguments is off for the base
+                # method in SQLAlchemy due to the cache decorator
+                # not being present
+                pass
         try:
             conn_indexes = inspector.get_indexes(tname, schema=schema)
         except NotImplementedError:
index 1449b27677842a0a55a5fdd11f52de5e0fb6cdd0..2b900ced95e8003b432d4654880e27005ba3dc99 100644 (file)
@@ -22,7 +22,8 @@ try:
     # honor it unless nose is imported too...
     from nose import SkipTest
 except ImportError:
-    from _pytest.runner import Skipped as SkipTest
+    from pytest import skip
+    SkipTest = skip.Exception
 
 import sys
 import re
@@ -75,6 +76,9 @@ def setup_options(make_option):
                 dest="low_connections",
                 help="Use a low number of distinct connections - "
                 "i.e. for Oracle TNS")
+    make_option("--write-idents", type="string", dest="write_idents",
+                help="write out generated follower idents to <file>, "
+                "when -n<num> is used")
     make_option("--reversetop", action="store_true",
                 dest="reversetop", default=False,
                 help="Use a random-ordering set implementation in the ORM "
index 9a729b6d237f2793dbfa64aa36c011f83c775b91..a55affe44040ddfef96f454169243993be63a300 100644 (file)
@@ -17,7 +17,7 @@ import pytest
 import argparse
 import inspect
 import collections
-import itertools
+import os
 
 try:
     import xdist  # noqa
@@ -50,6 +50,14 @@ def pytest_configure(config):
         plugin_base.configure_follower(
             config.slaveinput["follower_ident"]
         )
+        if config.option.write_idents:
+            with open(config.option.write_idents, "a") as file_:
+                file_.write(config.slaveinput["follower_ident"] + "\n")
+    else:
+        if config.option.write_idents and \
+                os.path.exists(config.option.write_idents):
+            os.remove(config.option.write_idents)
+
 
     plugin_base.pre_begin(config.option)
 
index 9d03fb0e5471ac0ad0a0ac0cbb8265cff97fdaef..d1f26f41f967ad184d024d1303f80a4b158053bd 100644 (file)
@@ -275,9 +275,14 @@ def _oracle_drop_db(cfg, eng, ident):
         _ora_drop_ignore(conn, "%s_ts2" % ident)
 
 
-def reap_oracle_dbs(eng):
+def reap_oracle_dbs(eng, idents_file):
     log.info("Reaping Oracle dbs...")
     with eng.connect() as conn:
+        with open(idents_file) as file_:
+            idents = set(line.strip() for line in file_)
+
+        log.info("identifiers in file: %s", ", ".join(idents))
+
         to_reap = conn.execute(
             "select u.username from all_users u where username "
             "like 'TEST_%' and not exists (select username "
@@ -287,7 +292,7 @@ def reap_oracle_dbs(eng):
         for name in all_names:
             if name.endswith("_ts1") or name.endswith("_ts2"):
                 continue
-            else:
+            elif name in idents:
                 to_drop.add(name)
                 if "%s_ts1" % name in all_names:
                     to_drop.add("%s_ts1" % name)
index af8dbe1610006d8a0e7dd3460fe774b1de8edced..ad4f27ccc953b4e7ba2012e34d49f8818845a0ba 100644 (file)
@@ -19,10 +19,25 @@ class SuiteRequirements(Requirements):
 
     @property
     def unique_constraint_reflection(self):
+        def doesnt_have_check_uq_constraints(config):
+            if not util.sqla_084:
+                return True
+            from sqlalchemy import inspect
+            insp = inspect(config.db)
+            try:
+                insp.get_unique_constraints('x')
+            except NotImplementedError:
+                return True
+            except TypeError:
+                return True
+            except Exception:
+                pass
+            return False
+
         return exclusions.skip_if(
             lambda config: not util.sqla_084,
             "SQLAlchemy 0.8.4 or greater required"
-        )
+        ) + exclusions.skip_if(doesnt_have_check_uq_constraints)
 
     @property
     def foreign_key_match(self):
index ff638a01ed599568922dd2549aa9c5541173dd20..e07c739e6915bb6a343b536812b2da408c150f7e 100644 (file)
@@ -1,4 +1,4 @@
-"""Drop Oracle databases that are left over from a 
+"""Drop Oracle databases that are left over from a
 multiprocessing test run.
 
 Currently the cx_Oracle driver seems to sometimes not release a
@@ -6,19 +6,19 @@ TCP connection even if close() is called, which prevents the provisioning
 system from dropping a database in-process.
 
 """
-from sqlalchemy.testing.plugin import plugin_base
-from sqlalchemy.testing import engines
-from sqlalchemy.testing import provision
+from alembic.testing.plugin import plugin_base
+from alembic.testing import engines
+from alembic.testing import provision
 import logging
+import sys
 
 logging.basicConfig()
 logging.getLogger(provision.__name__).setLevel(logging.INFO)
 
 plugin_base.read_config()
 oracle = plugin_base.file_config.get('db', 'oracle')
-from sqlalchemy.testing import provision
 
 engine = engines.testing_engine(oracle, {})
-provision.reap_oracle_dbs(engine)
+provision.reap_oracle_dbs(engine, sys.argv[1])
 
 
index 491e6556553b0dcfbfc7780e3553bf5e77dde6ec..987c0c764b69471c0617db3f6b34e3fd58f1e03e 100644 (file)
@@ -54,6 +54,12 @@ class DefaultRequirements(SuiteRequirements):
         """foreign key constraints always have names in the DB"""
         return exclusions.fails_on('sqlite')
 
+    @property
+    def no_name_normalize(self):
+        return exclusions.skip_if(
+            lambda config: config.db.dialect.requires_name_normalize
+        )
+
     @property
     def reflects_fk_options(self):
         return exclusions.only_on([
@@ -71,6 +77,16 @@ class DefaultRequirements(SuiteRequirements):
         """backend supports DEFERRABLE option in foreign keys"""
         return exclusions.only_on(['postgresql'])
 
+    @property
+    def flexible_fk_cascades(self):
+        """target database must support ON UPDATE/DELETE..CASCADE with the
+        full range of keywords (e.g. NO ACTION, etc.)"""
+
+        return exclusions.skip_if(
+            ['oracle'],
+            'target backend has poor FK cascade syntax'
+        )
+
     @property
     def reflects_unique_constraints_unambiguously(self):
         return exclusions.fails_on("mysql")
index 7b792bd5563cb8b127b0903c847b04a9bff756cc..569408b7833aefde0c872702dfeae7ce562a6515 100644 (file)
@@ -17,7 +17,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
         m1 = MetaData()
         m2 = MetaData()
 
-        Table('table', m1,
+        Table('some_table', m1,
               Column('test', String(10), primary_key=True),
               mysql_engine='InnoDB')
 
@@ -26,10 +26,10 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
               Column('name', String(50), nullable=False),
               Column('a1', String(10), server_default="x"),
               Column('test2', String(10)),
-              ForeignKeyConstraint(['test2'], ['table.test']),
+              ForeignKeyConstraint(['test2'], ['some_table.test']),
               mysql_engine='InnoDB')
 
-        Table('table', m2,
+        Table('some_table', m2,
               Column('test', String(10), primary_key=True),
               mysql_engine='InnoDB')
 
@@ -46,7 +46,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
         self._assert_fk_diff(
             diffs[0], "remove_fk",
             "user", ['test2'],
-            'table', ['test'],
+            'some_table', ['test'],
             conditional_name="servergenerated"
         )
 
@@ -54,7 +54,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
         m1 = MetaData()
         m2 = MetaData()
 
-        Table('table', m1,
+        Table('some_table', m1,
               Column('id', Integer, primary_key=True),
               Column('test', String(10)),
               mysql_engine='InnoDB')
@@ -66,7 +66,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
               Column('test2', String(10)),
               mysql_engine='InnoDB')
 
-        Table('table', m2,
+        Table('some_table', m2,
               Column('id', Integer, primary_key=True),
               Column('test', String(10)),
               mysql_engine='InnoDB')
@@ -76,7 +76,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
               Column('name', String(50), nullable=False),
               Column('a1', String(10), server_default="x"),
               Column('test2', String(10)),
-              ForeignKeyConstraint(['test2'], ['table.test']),
+              ForeignKeyConstraint(['test2'], ['some_table.test']),
               mysql_engine='InnoDB')
 
         diffs = self._fixture(m1, m2)
@@ -84,14 +84,14 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
         self._assert_fk_diff(
             diffs[0], "add_fk",
             "user", ["test2"],
-            "table", ["test"]
+            "some_table", ["test"]
         )
 
     def test_no_change(self):
         m1 = MetaData()
         m2 = MetaData()
 
-        Table('table', m1,
+        Table('some_table', m1,
               Column('id', Integer, primary_key=True),
               Column('test', String(10)),
               mysql_engine='InnoDB')
@@ -101,10 +101,10 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
               Column('name', String(50), nullable=False),
               Column('a1', String(10), server_default="x"),
               Column('test2', Integer),
-              ForeignKeyConstraint(['test2'], ['table.id']),
+              ForeignKeyConstraint(['test2'], ['some_table.id']),
               mysql_engine='InnoDB')
 
-        Table('table', m2,
+        Table('some_table', m2,
               Column('id', Integer, primary_key=True),
               Column('test', String(10)),
               mysql_engine='InnoDB')
@@ -114,7 +114,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
               Column('name', String(50), nullable=False),
               Column('a1', String(10), server_default="x"),
               Column('test2', Integer),
-              ForeignKeyConstraint(['test2'], ['table.id']),
+              ForeignKeyConstraint(['test2'], ['some_table.id']),
               mysql_engine='InnoDB')
 
         diffs = self._fixture(m1, m2)
@@ -125,7 +125,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
         m1 = MetaData()
         m2 = MetaData()
 
-        Table('table', m1,
+        Table('some_table', m1,
               Column('id_1', String(10), primary_key=True),
               Column('id_2', String(10), primary_key=True),
               mysql_engine='InnoDB')
@@ -137,10 +137,10 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
               Column('other_id_1', String(10)),
               Column('other_id_2', String(10)),
               ForeignKeyConstraint(['other_id_1', 'other_id_2'],
-                                   ['table.id_1', 'table.id_2']),
+                                   ['some_table.id_1', 'some_table.id_2']),
               mysql_engine='InnoDB')
 
-        Table('table', m2,
+        Table('some_table', m2,
               Column('id_1', String(10), primary_key=True),
               Column('id_2', String(10), primary_key=True),
               mysql_engine='InnoDB'
@@ -153,7 +153,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
               Column('other_id_1', String(10)),
               Column('other_id_2', String(10)),
               ForeignKeyConstraint(['other_id_1', 'other_id_2'],
-                                   ['table.id_1', 'table.id_2']),
+                                   ['some_table.id_1', 'some_table.id_2']),
               mysql_engine='InnoDB')
 
         diffs = self._fixture(m1, m2)
@@ -164,7 +164,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
         m1 = MetaData()
         m2 = MetaData()
 
-        Table('table', m1,
+        Table('some_table', m1,
               Column('id_1', String(10), primary_key=True),
               Column('id_2', String(10), primary_key=True),
               mysql_engine='InnoDB')
@@ -177,7 +177,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
               Column('other_id_2', String(10)),
               mysql_engine='InnoDB')
 
-        Table('table', m2,
+        Table('some_table', m2,
               Column('id_1', String(10), primary_key=True),
               Column('id_2', String(10), primary_key=True),
               mysql_engine='InnoDB')
@@ -189,7 +189,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
               Column('other_id_1', String(10)),
               Column('other_id_2', String(10)),
               ForeignKeyConstraint(['other_id_1', 'other_id_2'],
-                                   ['table.id_1', 'table.id_2'],
+                                   ['some_table.id_1', 'some_table.id_2'],
                                    name='fk_test_name'),
               mysql_engine='InnoDB')
 
@@ -198,15 +198,16 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
         self._assert_fk_diff(
             diffs[0], "add_fk",
             "user", ['other_id_1', 'other_id_2'],
-            'table', ['id_1', 'id_2'],
+            'some_table', ['id_1', 'id_2'],
             name="fk_test_name"
         )
 
+    @config.requirements.no_name_normalize
     def test_remove_composite_fk(self):
         m1 = MetaData()
         m2 = MetaData()
 
-        Table('table', m1,
+        Table('some_table', m1,
               Column('id_1', String(10), primary_key=True),
               Column('id_2', String(10), primary_key=True),
               mysql_engine='InnoDB')
@@ -218,11 +219,11 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
               Column('other_id_1', String(10)),
               Column('other_id_2', String(10)),
               ForeignKeyConstraint(['other_id_1', 'other_id_2'],
-                                   ['table.id_1', 'table.id_2'],
+                                   ['some_table.id_1', 'some_table.id_2'],
                                    name='fk_test_name'),
               mysql_engine='InnoDB')
 
-        Table('table', m2,
+        Table('some_table', m2,
               Column('id_1', String(10), primary_key=True),
               Column('id_2', String(10), primary_key=True),
               mysql_engine='InnoDB')
@@ -240,7 +241,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
         self._assert_fk_diff(
             diffs[0], "remove_fk",
             "user", ['other_id_1', 'other_id_2'],
-            "table", ['id_1', 'id_2'],
+            "some_table", ['id_1', 'id_2'],
             conditional_name="fk_test_name"
         )
 
@@ -248,7 +249,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
         m1 = MetaData()
         m2 = MetaData()
 
-        Table('table', m1,
+        Table('some_table', m1,
               Column('id_1', String(10), primary_key=True),
               Column('id_2', String(10), primary_key=True),
               mysql_engine='InnoDB')
@@ -259,7 +260,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
               Column('other_id_2', String(10)),
               mysql_engine='InnoDB')
 
-        Table('table', m2,
+        Table('some_table', m2,
               Column('id_1', String(10), key='tid1', primary_key=True),
               Column('id_2', String(10), key='tid2', primary_key=True),
               mysql_engine='InnoDB')
@@ -269,7 +270,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
               Column('other_id_1', String(10), key='oid1'),
               Column('other_id_2', String(10), key='oid2'),
               ForeignKeyConstraint(['oid1', 'oid2'],
-                                   ['table.tid1', 'table.tid2'],
+                                   ['some_table.tid1', 'some_table.tid2'],
                                    name='fk_test_name'),
               mysql_engine='InnoDB')
 
@@ -278,7 +279,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
         self._assert_fk_diff(
             diffs[0], "add_fk",
             "user", ['other_id_1', 'other_id_2'],
-            'table', ['id_1', 'id_2'],
+            'some_table', ['id_1', 'id_2'],
             name="fk_test_name"
         )
 
@@ -286,7 +287,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
         m1 = MetaData()
         m2 = MetaData()
 
-        Table('table', m1,
+        Table('some_table', m1,
               Column('id_1', String(10), primary_key=True),
               Column('id_2', String(10), primary_key=True),
               mysql_engine='InnoDB')
@@ -296,10 +297,10 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
               Column('other_id_1', String(10)),
               Column('other_id_2', String(10)),
               ForeignKeyConstraint(['other_id_1', 'other_id_2'],
-                                   ['table.id_1', 'table.id_2']),
+                                   ['some_table.id_1', 'some_table.id_2']),
               mysql_engine='InnoDB')
 
-        Table('table', m2,
+        Table('some_table', m2,
               Column('id_1', String(10), key='tid1', primary_key=True),
               Column('id_2', String(10), key='tid2', primary_key=True),
               mysql_engine='InnoDB')
@@ -309,7 +310,7 @@ class AutogenerateForeignKeysTest(AutogenFixtureTest, TestBase):
               Column('other_id_1', String(10), key='oid1'),
               Column('other_id_2', String(10), key='oid2'),
               ForeignKeyConstraint(['oid1', 'oid2'],
-                                   ['table.tid1', 'table.tid2']),
+                                   ['some_table.tid1', 'some_table.tid2']),
               mysql_engine='InnoDB')
 
         diffs = self._fixture(m1, m2)
@@ -321,6 +322,7 @@ class IncludeHooksTest(AutogenFixtureTest, TestBase):
     __backend__ = True
     __requires__ = 'fk_names',
 
+    @config.requirements.no_name_normalize
     def test_remove_connection_fk(self):
         m1 = MetaData()
         m2 = MetaData()
@@ -399,6 +401,7 @@ class IncludeHooksTest(AutogenFixtureTest, TestBase):
         )
         eq_(len(diffs), 1)
 
+    @config.requirements.no_name_normalize
     def test_change_fk(self):
         m1 = MetaData()
         m2 = MetaData()
@@ -473,13 +476,13 @@ class IncludeHooksTest(AutogenFixtureTest, TestBase):
 
 class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
     __backend__ = True
-    __requires__ = ('sqlalchemy_09', )
+    __requires__ = ('sqlalchemy_09', 'flexible_fk_cascades')
 
     def _fk_opts_fixture(self, old_opts, new_opts):
         m1 = MetaData()
         m2 = MetaData()
 
-        Table('table', m1,
+        Table('some_table', m1,
               Column('id', Integer, primary_key=True),
               Column('test', String(10)),
               mysql_engine='InnoDB')
@@ -488,10 +491,10 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
               Column('id', Integer, primary_key=True),
               Column('name', String(50), nullable=False),
               Column('tid', Integer),
-              ForeignKeyConstraint(['tid'], ['table.id'], **old_opts),
+              ForeignKeyConstraint(['tid'], ['some_table.id'], **old_opts),
               mysql_engine='InnoDB')
 
-        Table('table', m2,
+        Table('some_table', m2,
               Column('id', Integer, primary_key=True),
               Column('test', String(10)),
               mysql_engine='InnoDB')
@@ -500,7 +503,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
               Column('id', Integer, primary_key=True),
               Column('name', String(50), nullable=False),
               Column('tid', Integer),
-              ForeignKeyConstraint(['tid'], ['table.id'], **new_opts),
+              ForeignKeyConstraint(['tid'], ['some_table.id'], **new_opts),
               mysql_engine='InnoDB')
 
         return self._fixture(m1, m2)
@@ -526,7 +529,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
             self._assert_fk_diff(
                 diffs[0], "remove_fk",
                 "user", ["tid"],
-                "table", ["id"],
+                "some_table", ["id"],
                 ondelete=None,
                 conditional_name="servergenerated"
             )
@@ -534,7 +537,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
             self._assert_fk_diff(
                 diffs[1], "add_fk",
                 "user", ["tid"],
-                "table", ["id"],
+                "some_table", ["id"],
                 ondelete="cascade"
             )
         else:
@@ -549,7 +552,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
             self._assert_fk_diff(
                 diffs[0], "remove_fk",
                 "user", ["tid"],
-                "table", ["id"],
+                "some_table", ["id"],
                 ondelete="CASCADE",
                 conditional_name="servergenerated"
             )
@@ -557,7 +560,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
             self._assert_fk_diff(
                 diffs[1], "add_fk",
                 "user", ["tid"],
-                "table", ["id"],
+                "some_table", ["id"],
                 ondelete=None
             )
         else:
@@ -579,7 +582,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
             self._assert_fk_diff(
                 diffs[0], "remove_fk",
                 "user", ["tid"],
-                "table", ["id"],
+                "some_table", ["id"],
                 onupdate=None,
                 conditional_name="servergenerated"
             )
@@ -587,7 +590,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
             self._assert_fk_diff(
                 diffs[1], "add_fk",
                 "user", ["tid"],
-                "table", ["id"],
+                "some_table", ["id"],
                 onupdate="cascade"
             )
         else:
@@ -602,7 +605,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
             self._assert_fk_diff(
                 diffs[0], "remove_fk",
                 "user", ["tid"],
-                "table", ["id"],
+                "some_table", ["id"],
                 onupdate="CASCADE",
                 conditional_name="servergenerated"
             )
@@ -610,7 +613,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
             self._assert_fk_diff(
                 diffs[1], "add_fk",
                 "user", ["tid"],
-                "table", ["id"],
+                "some_table", ["id"],
                 onupdate=None
             )
         else:
@@ -667,7 +670,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
             self._assert_fk_diff(
                 diffs[0], "remove_fk",
                 "user", ["tid"],
-                "table", ["id"],
+                "some_table", ["id"],
                 onupdate=None,
                 ondelete=mock.ANY,  # MySQL reports None, PG reports RESTRICT
                 conditional_name="servergenerated"
@@ -676,7 +679,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
             self._assert_fk_diff(
                 diffs[1], "add_fk",
                 "user", ["tid"],
-                "table", ["id"],
+                "some_table", ["id"],
                 onupdate=None,
                 ondelete="cascade"
             )
@@ -695,7 +698,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
             self._assert_fk_diff(
                 diffs[0], "remove_fk",
                 "user", ["tid"],
-                "table", ["id"],
+                "some_table", ["id"],
                 onupdate=mock.ANY,  # MySQL reports None, PG reports RESTRICT
                 ondelete=None,
                 conditional_name="servergenerated"
@@ -704,7 +707,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
             self._assert_fk_diff(
                 diffs[1], "add_fk",
                 "user", ["tid"],
-                "table", ["id"],
+                "some_table", ["id"],
                 onupdate="cascade",
                 ondelete=None
             )
@@ -721,7 +724,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
             self._assert_fk_diff(
                 diffs[0], "remove_fk",
                 "user", ["tid"],
-                "table", ["id"],
+                "some_table", ["id"],
                 onupdate="CASCADE",
                 ondelete="SET NULL",
                 conditional_name="servergenerated"
@@ -730,7 +733,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
             self._assert_fk_diff(
                 diffs[1], "add_fk",
                 "user", ["tid"],
-                "table", ["id"],
+                "some_table", ["id"],
                 onupdate="RESTRICT",
                 ondelete="RESTRICT"
             )
@@ -746,7 +749,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
         self._assert_fk_diff(
             diffs[0], "remove_fk",
             "user", ["tid"],
-            "table", ["id"],
+            "some_table", ["id"],
             initially=None,
             conditional_name="servergenerated"
         )
@@ -754,7 +757,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
         self._assert_fk_diff(
             diffs[1], "add_fk",
             "user", ["tid"],
-            "table", ["id"],
+            "some_table", ["id"],
             initially="deferred"
         )
 
@@ -767,7 +770,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
         self._assert_fk_diff(
             diffs[0], "remove_fk",
             "user", ["tid"],
-            "table", ["id"],
+            "some_table", ["id"],
             initially="DEFERRED",
             deferrable=True,
             conditional_name="servergenerated"
@@ -776,7 +779,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
         self._assert_fk_diff(
             diffs[1], "add_fk",
             "user", ["tid"],
-            "table", ["id"],
+            "some_table", ["id"],
             initially=None
         )
 
@@ -790,7 +793,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
         self._assert_fk_diff(
             diffs[0], "remove_fk",
             "user", ["tid"],
-            "table", ["id"],
+            "some_table", ["id"],
             initially=None,
             conditional_name="servergenerated"
         )
@@ -798,7 +801,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
         self._assert_fk_diff(
             diffs[1], "add_fk",
             "user", ["tid"],
-            "table", ["id"],
+            "some_table", ["id"],
             initially="immediate",
             deferrable=True
         )
@@ -813,7 +816,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
         self._assert_fk_diff(
             diffs[0], "remove_fk",
             "user", ["tid"],
-            "table", ["id"],
+            "some_table", ["id"],
             initially=None,  # immediate is the default
             deferrable=True,
             conditional_name="servergenerated"
@@ -822,7 +825,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
         self._assert_fk_diff(
             diffs[1], "add_fk",
             "user", ["tid"],
-            "table", ["id"],
+            "some_table", ["id"],
             initially=None,
             deferrable=None
         )
@@ -866,7 +869,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
         self._assert_fk_diff(
             diffs[0], "remove_fk",
             "user", ["tid"],
-            "table", ["id"],
+            "some_table", ["id"],
             deferrable=None,
             conditional_name="servergenerated"
         )
@@ -874,7 +877,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
         self._assert_fk_diff(
             diffs[1], "add_fk",
             "user", ["tid"],
-            "table", ["id"],
+            "some_table", ["id"],
             deferrable=True
         )
 
@@ -887,7 +890,7 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
         self._assert_fk_diff(
             diffs[0], "remove_fk",
             "user", ["tid"],
-            "table", ["id"],
+            "some_table", ["id"],
             deferrable=True,
             conditional_name="servergenerated"
         )
@@ -895,6 +898,6 @@ class AutogenerateFKOptionsTest(AutogenFixtureTest, TestBase):
         self._assert_fk_diff(
             diffs[1], "add_fk",
             "user", ["tid"],
-            "table", ["id"],
+            "some_table", ["id"],
             deferrable=None
         )
diff --git a/tox.ini b/tox.ini
index 25dc4f4c1e8022feb1d377c4739601c2b2419229..42918463d11cda080748db99fb6a9b5fbc08aea1 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -36,7 +36,7 @@ setenv=
     sqlite: SQLITE=--db sqlite
     postgresql: POSTGRESQL=--db postgresql
     mysql: MYSQL=--db mysql
-    oracle: ORACLE=--db oracle --low-connections
+    oracle: ORACLE=--db oracle --low-connections --write-idents oracle_idents.txt
     mssql: MSSQL=--db pymssql
 
 # tox as of 2.0 blocks all environment variables from the
@@ -46,7 +46,7 @@ passenv=ORACLE_HOME NLS_LANG
 
 commands=
   {env:BASECOMMAND} {env:WORKERS} {env:SQLITE:} {env:POSTGRESQL:} {env:MYSQL:} {env:ORACLE:} {env:MSSQL:} {env:BACKENDONLY:} {env:COVERAGE:} {posargs}
-  {oracle}: python reap_oracle_dbs.py
+  {oracle}: python reap_oracle_dbs.py oracle_idents.txt
 
 
 [testenv:pep8]