diff --git a/migrate/versioning/genmodel.py b/migrate/versioning/genmodel.py index 3c63a0d..1715175 100644 --- a/migrate/versioning/genmodel.py +++ b/migrate/versioning/genmodel.py @@ -128,7 +128,7 @@ class ModelGenerator(object): decls = ['from migrate.changeset import schema', 'meta = MetaData()'] for table in self.diff.tablesMissingInModel + \ - self.diff.tablesMissingInDatabase + \ + self.diff.tablesMissingInDatabase + \ self.diff.tablesWithDiff: decls.extend(self.getTableDefn(table)) diff --git a/migrate/versioning/schemadiff.py b/migrate/versioning/schemadiff.py index 80a6085..bd22f92 100644 --- a/migrate/versioning/schemadiff.py +++ b/migrate/versioning/schemadiff.py @@ -84,7 +84,7 @@ class SchemaDiff(object): if modelName in self.excludeTables: continue reflectedTable = self.reflected_model.tables.get(modelName, None) - if reflectedTable: + if reflectedTable is not None: # Table exists. pass else: @@ -96,14 +96,14 @@ class SchemaDiff(object): if reflectedName in self.excludeTables: continue modelTable = self.model.tables.get(reflectedName, None) - if modelTable: + if modelTable is not None: # Table exists. # Find missing columns in database. for modelCol in modelTable.columns: databaseCol = reflectedTable.columns.get(modelCol.name, None) - if databaseCol: + if databaseCol is not None: pass else: self.storeColumnMissingInDatabase(modelTable, modelCol) @@ -114,7 +114,7 @@ class SchemaDiff(object): # TODO: no test coverage here? (mrb) modelCol = modelTable.columns.get(databaseCol.name, None) - if modelCol: + if modelCol is not None: # Compare attributes of column. modelDecl = \ get_column_specification(modelCol) diff --git a/migrate/versioning/version.py b/migrate/versioning/version.py index 3561b48..11f7aa0 100644 --- a/migrate/versioning/version.py +++ b/migrate/versioning/version.py @@ -178,12 +178,15 @@ class Version(object): SQL_FILENAME = re.compile(r'^(\d+)_([^_]+)_([^_]+).sql') def _add_script_sql(self, path): - match = self.SQL_FILENAME.match(os.path.basename(path)) + basename = os.path.basename(path) + match = self.SQL_FILENAME.match(basename) if match: version, dbms, op = match.group(1), match.group(2), match.group(3) else: - raise exceptions.ScriptError("Invalid SQL script name %s" % path) + raise exceptions.ScriptError( + "Invalid SQL script name %s " % basename + \ + "(needs to be ###_database_operation.sql)") # File the script into a dictionary self.sql.setdefault(dbms, {})[op] = script.SqlScript(path)