Returns Dart code to upgrade expectedTable to actualTable.
Source
String generateUpgradeSource({List<String> changeList}) {
var builder = new StringBuffer();
_differingColumns
.where((diff) => diff.expectedColumn == null && diff.actualColumn != null)
.map((diff) => diff.actualColumn)
.forEach((c) {
changeList?.add("Adding column '${c.name}' to table '${actualTable.name}'");
builder.writeln(createColumnSource(c));
});
_differingColumns
.where((diff) => diff.expectedColumn != null && diff.actualColumn == null)
.map((diff) => diff.expectedColumn)
.forEach((c) {
changeList?.add("Deleting column '${c.name}' from table '${actualTable.name}'");
builder.writeln(deleteColumnSource(c));
});
_differingColumns
.where((columnDiff) => columnDiff.expectedColumn != null && columnDiff.actualColumn != null)
.forEach((columnDiff) {
var lines = columnDiff.generateUpgradeSource(changeList: changeList);
builder.writeln(lines);
});
if (uniqueSetDifference?.hasDifferences ?? false) {
builder.writeln(uniqueSetDifference.generateUpgradeSource(changeList: changeList));
}
return builder.toString();
}