diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2019-09-17 15:26:32 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2019-09-17 15:42:22 -0400 |
commit | 1dc690d40cbb61496ad8de1f1f225ddaa18f7351 (patch) | |
tree | fe3ea70b741ec75f261129b101af2e469852eead /alembic/testing | |
parent | f0701469c3a3eca5515bef75f0aa7fcdc481e3d0 (diff) | |
download | alembic-1dc690d40cbb61496ad8de1f1f225ddaa18f7351.tar.gz |
Add autocommit_block
Added new feature :meth:`.MigrationContext.autocommit_block`, a special
directive which will provide for a non-transactional block inside of a
migration script. The feature requres that: the database driver
(e.g. DBAPI) supports the AUTOCOMMIT isolation mode. The directive
also necessarily needs to COMMIT the existing transaction in progress
in order to enter autocommit mode.
Change-Id: I107fe9772595db189b6ebeba6535ac8f275b3fe5
Fixes: #123
Diffstat (limited to 'alembic/testing')
-rw-r--r-- | alembic/testing/__init__.py | 2 | ||||
-rw-r--r-- | alembic/testing/assertions.py | 2 | ||||
-rw-r--r-- | alembic/testing/requirements.py | 6 |
3 files changed, 10 insertions, 0 deletions
diff --git a/alembic/testing/__init__.py b/alembic/testing/__init__.py index ad0ae4c..4b66926 100644 --- a/alembic/testing/__init__.py +++ b/alembic/testing/__init__.py @@ -12,6 +12,8 @@ from .assertions import emits_python_deprecation_warning # noqa from .assertions import eq_ # noqa from .assertions import eq_ignore_whitespace # noqa from .assertions import is_ # noqa +from .assertions import is_false # noqa from .assertions import is_not_ # noqa +from .assertions import is_true # noqa from .assertions import ne_ # noqa from .fixtures import TestBase # noqa diff --git a/alembic/testing/assertions.py b/alembic/testing/assertions.py index 750c526..3dc08f0 100644 --- a/alembic/testing/assertions.py +++ b/alembic/testing/assertions.py @@ -8,7 +8,9 @@ from sqlalchemy.testing.assertions import assert_raises # noqa from sqlalchemy.testing.assertions import assert_raises_message # noqa from sqlalchemy.testing.assertions import eq_ # noqa from sqlalchemy.testing.assertions import is_ # noqa +from sqlalchemy.testing.assertions import is_false # noqa from sqlalchemy.testing.assertions import is_not_ # noqa +from sqlalchemy.testing.assertions import is_true # noqa from sqlalchemy.testing.assertions import ne_ # noqa from sqlalchemy.util import decorator diff --git a/alembic/testing/requirements.py b/alembic/testing/requirements.py index c8d76b8..9038a45 100644 --- a/alembic/testing/requirements.py +++ b/alembic/testing/requirements.py @@ -16,6 +16,12 @@ class SuiteRequirements(Requirements): return exclusions.open() @property + def autocommit_isolation(self): + """target database should support 'AUTOCOMMIT' isolation level""" + + return exclusions.closed() + + @property def unique_constraint_reflection(self): def doesnt_have_check_uq_constraints(config): from sqlalchemy import inspect |