summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2021-05-24 16:14:30 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2021-05-24 16:22:32 -0400
commit19e1f6c1a72be95d0962065c781aed970d1d50ae (patch)
tree6ee7fd30d23a03289feadf553f8b0a498b856dfa /tests
parentffc690416ccbe8c551b14308694d2497e12e0185 (diff)
downloadalembic-19e1f6c1a72be95d0962065c781aed970d1d50ae.tar.gz
differentiate CreateTableOp from model vs. op.create_table()
Fixed regression caused by just fixed :ticket:`844` that scaled back the filter for ``unique=True/index=True`` too far such that these directives no longer worked for the ``op.create_table()`` op, this has been fixed. Change-Id: Idbed889ef4fbb7b3a944d3f4631f1cae53030316 Fixes: #848
Diffstat (limited to 'tests')
-rw-r--r--tests/test_op.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/test_op.py b/tests/test_op.py
index 63d3e96..1b82938 100644
--- a/tests/test_op.py
+++ b/tests/test_op.py
@@ -877,6 +877,36 @@ class OpTest(TestBase):
uq = [c for c in t1.constraints if isinstance(c, UniqueConstraint)]
eq_(uq[0].name, "uq_1")
+ def test_create_table_unique_flag(self):
+ context = op_fixture()
+ t1 = op.create_table(
+ "some_table",
+ Column("id", Integer, primary_key=True),
+ Column("foo_id", Integer, unique=True),
+ )
+ context.assert_(
+ "CREATE TABLE some_table (id INTEGER NOT NULL, foo_id INTEGER, "
+ "PRIMARY KEY (id), UNIQUE (foo_id))"
+ )
+
+ uq = [c for c in t1.constraints if isinstance(c, UniqueConstraint)]
+ assert uq
+
+ def test_create_table_index_flag(self):
+ context = op_fixture()
+ t1 = op.create_table(
+ "some_table",
+ Column("id", Integer, primary_key=True),
+ Column("foo_id", Integer, index=True),
+ )
+ context.assert_(
+ "CREATE TABLE some_table (id INTEGER NOT NULL, foo_id INTEGER, "
+ "PRIMARY KEY (id))",
+ "CREATE INDEX ix_some_table_foo_id ON some_table (foo_id)",
+ )
+
+ assert t1.indexes
+
def test_create_table_index(self):
context = op_fixture()
t1 = op.create_table(