summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorasuffield@gmail.com <unknown>2012-01-23 21:34:12 +0100
committerasuffield@gmail.com <unknown>2012-01-23 21:34:12 +0100
commitfe1f1deca8110c0ea40cd544f815d05abc36e8ec (patch)
treeca1a13844ccca3aa9c4c653456065798fdb0645d
parentddad9c7f8c501d52ad72ae32fc48c8c910f86d8e (diff)
downloadsqalchemy-migrate-fe1f1deca8110c0ea40cd544f815d05abc36e8ec.tar.gz
apply patch for issue #72 by asuffield@gmail.com
fixes #72
-rw-r--r--migrate/tests/versioning/test_util.py10
-rw-r--r--migrate/versioning/util/__init__.py2
2 files changed, 11 insertions, 1 deletions
diff --git a/migrate/tests/versioning/test_util.py b/migrate/tests/versioning/test_util.py
index 28015d0..6b22b7a 100644
--- a/migrate/tests/versioning/test_util.py
+++ b/migrate/tests/versioning/test_util.py
@@ -9,6 +9,7 @@ from migrate.exceptions import MigrateDeprecationWarning
from migrate.tests import fixture
from migrate.tests.fixture.warnings import catch_warnings
from migrate.versioning.util import *
+from migrate.versioning import api
import warnings
@@ -63,6 +64,15 @@ class TestUtil(fixture.Pathed):
# unsupported argument
self.assertRaises(ValueError, construct_engine, 1)
+ def test_passing_engine(self):
+ repo = self.tmp_repos()
+ api.create(repo, 'temp')
+ api.script('First Version', repo)
+ engine = construct_engine('sqlite:///:memory:')
+
+ api.version_control(engine, repo)
+ api.upgrade(engine, repo)
+
def test_asbool(self):
"""test asbool parsing"""
result = asbool(True)
diff --git a/migrate/versioning/util/__init__.py b/migrate/versioning/util/__init__.py
index 9b79f40..0928644 100644
--- a/migrate/versioning/util/__init__.py
+++ b/migrate/versioning/util/__init__.py
@@ -158,7 +158,7 @@ def with_engine(f, *a, **kw):
kw['engine'] = engine
return f(*a, **kw)
finally:
- if isinstance(engine, Engine):
+ if isinstance(engine, Engine) and engine is not url:
log.debug('Disposing SQLAlchemy engine %s', engine)
engine.dispose()