apply patch by Jason Newton
This commit is contained in:
@@ -128,7 +128,7 @@ class ModelGenerator(object):
|
|||||||
decls = ['from migrate.changeset import schema',
|
decls = ['from migrate.changeset import schema',
|
||||||
'meta = MetaData()']
|
'meta = MetaData()']
|
||||||
for table in self.diff.tablesMissingInModel + \
|
for table in self.diff.tablesMissingInModel + \
|
||||||
self.diff.tablesMissingInDatabase + \
|
self.diff.tablesMissingInDatabase + \
|
||||||
self.diff.tablesWithDiff:
|
self.diff.tablesWithDiff:
|
||||||
decls.extend(self.getTableDefn(table))
|
decls.extend(self.getTableDefn(table))
|
||||||
|
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ class SchemaDiff(object):
|
|||||||
if modelName in self.excludeTables:
|
if modelName in self.excludeTables:
|
||||||
continue
|
continue
|
||||||
reflectedTable = self.reflected_model.tables.get(modelName, None)
|
reflectedTable = self.reflected_model.tables.get(modelName, None)
|
||||||
if reflectedTable:
|
if reflectedTable is not None:
|
||||||
# Table exists.
|
# Table exists.
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
@@ -96,14 +96,14 @@ class SchemaDiff(object):
|
|||||||
if reflectedName in self.excludeTables:
|
if reflectedName in self.excludeTables:
|
||||||
continue
|
continue
|
||||||
modelTable = self.model.tables.get(reflectedName, None)
|
modelTable = self.model.tables.get(reflectedName, None)
|
||||||
if modelTable:
|
if modelTable is not None:
|
||||||
# Table exists.
|
# Table exists.
|
||||||
|
|
||||||
# Find missing columns in database.
|
# Find missing columns in database.
|
||||||
for modelCol in modelTable.columns:
|
for modelCol in modelTable.columns:
|
||||||
databaseCol = reflectedTable.columns.get(modelCol.name,
|
databaseCol = reflectedTable.columns.get(modelCol.name,
|
||||||
None)
|
None)
|
||||||
if databaseCol:
|
if databaseCol is not None:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
self.storeColumnMissingInDatabase(modelTable, modelCol)
|
self.storeColumnMissingInDatabase(modelTable, modelCol)
|
||||||
@@ -114,7 +114,7 @@ class SchemaDiff(object):
|
|||||||
# TODO: no test coverage here? (mrb)
|
# TODO: no test coverage here? (mrb)
|
||||||
|
|
||||||
modelCol = modelTable.columns.get(databaseCol.name, None)
|
modelCol = modelTable.columns.get(databaseCol.name, None)
|
||||||
if modelCol:
|
if modelCol is not None:
|
||||||
# Compare attributes of column.
|
# Compare attributes of column.
|
||||||
modelDecl = \
|
modelDecl = \
|
||||||
get_column_specification(modelCol)
|
get_column_specification(modelCol)
|
||||||
|
|||||||
@@ -178,12 +178,15 @@ class Version(object):
|
|||||||
SQL_FILENAME = re.compile(r'^(\d+)_([^_]+)_([^_]+).sql')
|
SQL_FILENAME = re.compile(r'^(\d+)_([^_]+)_([^_]+).sql')
|
||||||
|
|
||||||
def _add_script_sql(self, path):
|
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:
|
if match:
|
||||||
version, dbms, op = match.group(1), match.group(2), match.group(3)
|
version, dbms, op = match.group(1), match.group(2), match.group(3)
|
||||||
else:
|
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
|
# File the script into a dictionary
|
||||||
self.sql.setdefault(dbms, {})[op] = script.SqlScript(path)
|
self.sql.setdefault(dbms, {})[op] = script.SqlScript(path)
|
||||||
|
|||||||
Reference in New Issue
Block a user