diff options
author | jan.dittberner <unknown> | 2009-01-25 12:52:33 +0000 |
---|---|---|
committer | jan.dittberner <unknown> | 2009-01-25 12:52:33 +0000 |
commit | eb00570991a2b39b005749f7f7c67643bdcaba59 (patch) | |
tree | f0b4a4af0dfbc85cf14c23d00e95b24b1a26d2f7 /migrate/changeset/databases/sqlite.py | |
parent | 728b677e56a8b51c5bda6c127be9837db2c11160 (diff) | |
download | sqlalchemy-migrate-eb00570991a2b39b005749f7f7c67643bdcaba59.tar.gz |
make migrate.changeset.databases PEP-8 clean and add it to the API docs
Diffstat (limited to 'migrate/changeset/databases/sqlite.py')
-rw-r--r-- | migrate/changeset/databases/sqlite.py | 42 |
1 files changed, 30 insertions, 12 deletions
diff --git a/migrate/changeset/databases/sqlite.py b/migrate/changeset/databases/sqlite.py index 0f560c1..caeb1b5 100644 --- a/migrate/changeset/databases/sqlite.py +++ b/migrate/changeset/databases/sqlite.py @@ -1,11 +1,18 @@ -from migrate.changeset import ansisql,constraint,exceptions +""" + `SQLite`_ database specific implementations of changeset classes. + + .. _`SQLite`: http://www.sqlite.org/ +""" +from migrate.changeset import ansisql, constraint, exceptions from sqlalchemy.databases import sqlite as sa_base from sqlalchemy import Table, MetaData #import sqlalchemy as sa SQLiteSchemaGenerator = sa_base.SQLiteSchemaGenerator + class SQLiteHelper(object): + def visit_column(self, param): try: table = self._to_table(param.table) @@ -24,50 +31,61 @@ class SQLiteHelper(object): self.append('DROP TABLE migration_tmp') self.execute() -class SQLiteColumnGenerator(SQLiteSchemaGenerator,ansisql.ANSIColumnGenerator): + +class SQLiteColumnGenerator(SQLiteSchemaGenerator, + ansisql.ANSIColumnGenerator): pass + class SQLiteColumnDropper(SQLiteHelper, ansisql.ANSIColumnDropper): - def _modify_table(self,table, column): + + def _modify_table(self, table, column): del table.columns[column.name] - columns = ','.join([c.name for c in table.columns]) - return 'INSERT INTO %(table_name)s SELECT ' + columns + ' from migration_tmp' + return 'INSERT INTO %(table_name)s SELECT %s from migration_tmp' % \ + ','.join([c.name for c in table.columns]) + class SQLiteSchemaChanger(SQLiteHelper, ansisql.ANSISchemaChanger): - def _not_supported(self,op): + + def _not_supported(self, op): raise exceptions.NotSupportedError("SQLite does not support " "%s; see http://www.sqlite.org/lang_altertable.html"%op) def _modify_table(self, table, delta): column = table.columns[delta.current_name] - for k,v in delta.items(): + for k, v in delta.items(): setattr(column, k, v) return 'INSERT INTO %(table_name)s SELECT * from migration_tmp' - def visit_index(self,param): + def visit_index(self, param): self._not_supported('ALTER INDEX') def _do_quote_column_identifier(self, identifier): return '"%s"'%identifier + class SQLiteConstraintGenerator(ansisql.ANSIConstraintGenerator): - def visit_migrate_primary_key_constraint(self,constraint): + + def visit_migrate_primary_key_constraint(self, constraint): tmpl = "CREATE UNIQUE INDEX %s ON %s ( %s )" cols = ','.join([c.name for c in constraint.columns]) tname = constraint.table.name name = constraint.name - msg = tmpl%(name,tname,cols) + msg = tmpl % (name, tname, cols) self.append(msg) self.execute() + class SQLiteConstraintDropper(ansisql.ANSIColumnDropper): - def visit_migrate_primary_key_constraint(self,constraint): + + def visit_migrate_primary_key_constraint(self, constraint): tmpl = "DROP INDEX %s " name = constraint.name - msg = tmpl%(name) + msg = tmpl % (name) self.append(msg) self.execute() + class SQLiteDialect(ansisql.ANSIDialect): columngenerator = SQLiteColumnGenerator columndropper = SQLiteColumnDropper |