diff options
author | Gord Thompson <gord@gordthompson.com> | 2020-04-19 11:47:19 -0600 |
---|---|---|
committer | Gord Thompson <gord@gordthompson.com> | 2020-05-29 08:10:38 -0600 |
commit | 668872fe0108c3885adcf6cb10b653b812dc258f (patch) | |
tree | 1b70ad2d164b1f9060b29a4535bc55bcf5a11350 /lib/sqlalchemy/testing/suite/test_sequence.py | |
parent | 5e1d11573350f8035ed607e9c97b9f8896ab3132 (diff) | |
download | sqlalchemy-668872fe0108c3885adcf6cb10b653b812dc258f.tar.gz |
Add support for "real" sequences in mssql
Added support for "CREATE SEQUENCE" and full :class:`.Sequence` support for
Microsoft SQL Server. This removes the deprecated feature of using
:class:`.Sequence` objects to manipulate IDENTITY characteristics which
should now be performed using ``mssql_identity_start`` and
``mssql_identity_increment`` as documented at :ref:`mssql_identity`. The
change includes a new parameter :paramref:`.Sequence.data_type` to
accommodate SQL Server's choice of datatype, which for that backend
includes INTEGER and BIGINT. The default starting value for SQL Server's
version of :class:`.Sequence` has been set at 1; this default is now
emitted within the CREATE SEQUENCE DDL for all backends.
Fixes: #4235
Fixes: #4633
Change-Id: I6aa55c441e8146c2f002e2e201a7f645e667b916
Diffstat (limited to 'lib/sqlalchemy/testing/suite/test_sequence.py')
-rw-r--r-- | lib/sqlalchemy/testing/suite/test_sequence.py | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/sqlalchemy/testing/suite/test_sequence.py b/lib/sqlalchemy/testing/suite/test_sequence.py index db5582c21..dda447c0d 100644 --- a/lib/sqlalchemy/testing/suite/test_sequence.py +++ b/lib/sqlalchemy/testing/suite/test_sequence.py @@ -23,7 +23,7 @@ class SequenceTest(fixtures.TablesTest): Table( "seq_pk", metadata, - Column("id", Integer, Sequence("tab_id_seq"), primary_key=True), + Column("id", Integer, Sequence("tab_id_seq"), primary_key=True,), Column("data", String(50)), ) @@ -33,7 +33,7 @@ class SequenceTest(fixtures.TablesTest): Column( "id", Integer, - Sequence("tab_id_seq", optional=True), + Sequence("tab_id_seq", data_type=Integer, optional=True), primary_key=True, ), Column("data", String(50)), @@ -45,11 +45,11 @@ class SequenceTest(fixtures.TablesTest): def test_insert_lastrowid(self, connection): r = connection.execute(self.tables.seq_pk.insert(), data="some data") - eq_(r.inserted_primary_key, [1]) + eq_(r.inserted_primary_key, [testing.db.dialect.default_sequence_base]) def test_nextval_direct(self, connection): r = connection.execute(self.tables.seq_pk.c.id.default) - eq_(r, 1) + eq_(r, testing.db.dialect.default_sequence_base) @requirements.sequences_optional def test_optional_seq(self, connection): @@ -60,7 +60,7 @@ class SequenceTest(fixtures.TablesTest): def _assert_round_trip(self, table, conn): row = conn.execute(table.select()).first() - eq_(row, (1, "some data")) + eq_(row, (testing.db.dialect.default_sequence_base, "some data")) class SequenceCompilerTest(testing.AssertsCompiledSQL, fixtures.TestBase): |