]> git.ipfire.org Git - thirdparty/sqlalchemy/alembic.git/commitdiff
add missing util lib
authorMike Bayer <mike_mp@zzzcomputing.com>
Sat, 20 Sep 2014 22:16:17 +0000 (18:16 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sat, 20 Sep 2014 22:16:17 +0000 (18:16 -0400)
alembic/testing/util.py [new file with mode: 0644]

diff --git a/alembic/testing/util.py b/alembic/testing/util.py
new file mode 100644 (file)
index 0000000..466dea3
--- /dev/null
@@ -0,0 +1,19 @@
+from sqlalchemy.util import decorator
+
+
+@decorator
+def provide_metadata(fn, *args, **kw):
+    """Provide bound MetaData for a single test, dropping afterwards."""
+
+    from . import config
+    from sqlalchemy import schema
+
+    metadata = schema.MetaData(config.db)
+    self = args[0]
+    prev_meta = getattr(self, 'metadata', None)
+    self.metadata = metadata
+    try:
+        return fn(*args, **kw)
+    finally:
+        metadata.drop_all()
+        self.metadata = prev_meta