summaryrefslogtreecommitdiff
path: root/alembic/testing
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2019-09-17 15:26:32 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2019-09-17 15:42:22 -0400
commit1dc690d40cbb61496ad8de1f1f225ddaa18f7351 (patch)
treefe3ea70b741ec75f261129b101af2e469852eead /alembic/testing
parentf0701469c3a3eca5515bef75f0aa7fcdc481e3d0 (diff)
downloadalembic-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__.py2
-rw-r--r--alembic/testing/assertions.py2
-rw-r--r--alembic/testing/requirements.py6
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