SchemaDifference constructor
Creates a new instance that represents the difference between expectedSchema
and actualSchema
.
Implementation
SchemaDifference(this.expectedSchema, this.actualSchema) {
for (var expectedTable in expectedSchema.tables!) {
dynamic actualTable = actualSchema[expectedTable!.name!];
if (actualTable == null) {
_differingTables.add(SchemaTableDifference(expectedTable, null));
} else {
var diff = expectedTable.differenceFrom(actualTable as SchemaTable);
if (diff.hasDifferences) {
_differingTables.add(diff);
}
}
}
_differingTables.addAll(actualSchema.tables!
.where((t) => expectedSchema[t!.name!] as dynamic == null)
.map((unexpectedTable) {
return SchemaTableDifference(null, unexpectedTable);
}));
}