diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2021-05-24 16:14:30 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2021-05-24 16:22:32 -0400 |
commit | 19e1f6c1a72be95d0962065c781aed970d1d50ae (patch) | |
tree | 6ee7fd30d23a03289feadf553f8b0a498b856dfa /tests | |
parent | ffc690416ccbe8c551b14308694d2497e12e0185 (diff) | |
download | alembic-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.py | 30 |
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( |