summaryrefslogtreecommitdiff
path: root/migrate/versioning/script/sql.py
diff options
context:
space:
mode:
authoriElectric <unknown>2009-06-08 11:03:02 +0000
committeriElectric <unknown>2009-06-08 11:03:02 +0000
commitd44be57771cd5db0f04b68c619fd2b796ccd9c70 (patch)
tree73f6698ba9d9965649e2174ab93910114940b092 /migrate/versioning/script/sql.py
parenta626f5b1b96cb3ad770b0c2f319d29d89538df74 (diff)
downloadsqlalchemy-migrate-d44be57771cd5db0f04b68c619fd2b796ccd9c70.tar.gz
update tests and docs for migrate.versioning.script.*
Diffstat (limited to 'migrate/versioning/script/sql.py')
-rw-r--r--migrate/versioning/script/sql.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/migrate/versioning/script/sql.py b/migrate/versioning/script/sql.py
index 88c3bf8..851fdf2 100644
--- a/migrate/versioning/script/sql.py
+++ b/migrate/versioning/script/sql.py
@@ -1,8 +1,15 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
from migrate.versioning.script import base
+
class SqlScript(base.BaseScript):
"""A file containing plain SQL statements."""
- def run(self, engine, step):
+
+ # TODO: why is step parameter even here?
+ def run(self, engine, step=None):
+ """Runs SQL script through raw dbapi execute call"""
text = self.source()
# Don't rely on SA's autocommit here
# (SA uses .startswith to check if a commit is needed. What if script
@@ -11,14 +18,13 @@ class SqlScript(base.BaseScript):
try:
trans = conn.begin()
try:
- # ###HACK: SQLite doesn't allow multiple statements through
+ # HACK: SQLite doesn't allow multiple statements through
# its execute() method, but it provides executescript() instead
dbapi = conn.engine.raw_connection()
if getattr(dbapi, 'executescript', None):
dbapi.executescript(text)
else:
conn.execute(text)
- # Success
trans.commit()
except:
trans.rollback()