diff options
| author | iElectric <unknown> | 2009-07-08 22:03:00 +0200 |
|---|---|---|
| committer | iElectric <unknown> | 2009-07-08 22:03:00 +0200 |
| commit | 67af81806d96f4071d2ac6bc0d956b4e2e8879dc (patch) | |
| tree | 5e566be9a24cbece0cfa6a0c52a03d6d01e7cede /migrate/versioning/script/sql.py | |
| parent | 286a912e34823483ae0fd767721fb5221d7b7ea1 (diff) | |
| download | sqlalchemy-migrate-67af81806d96f4071d2ac6bc0d956b4e2e8879dc.tar.gz | |
add tests for plain API, fixed some small bugs
Diffstat (limited to 'migrate/versioning/script/sql.py')
| -rw-r--r-- | migrate/versioning/script/sql.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/migrate/versioning/script/sql.py b/migrate/versioning/script/sql.py index 851fdf2..97dc505 100644 --- a/migrate/versioning/script/sql.py +++ b/migrate/versioning/script/sql.py @@ -7,8 +7,16 @@ from migrate.versioning.script import base class SqlScript(base.BaseScript): """A file containing plain SQL statements.""" + @classmethod + def create(cls, path, **opts): + """Create an empty migration script at specified path + + :returns: :class:`SqlScript instance <migrate.versioning.script.sql.SqlScript>`""" + cls.require_notfound(path) + open(path, "w").close() + # TODO: why is step parameter even here? - def run(self, engine, step=None): + def run(self, engine, step=None, executemany=True): """Runs SQL script through raw dbapi execute call""" text = self.source() # Don't rely on SA's autocommit here @@ -21,7 +29,7 @@ class SqlScript(base.BaseScript): # 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): + if executemany and getattr(dbapi, 'executescript', None): dbapi.executescript(text) else: conn.execute(text) |
