SchemaTableDifference(SchemaTable expectedTable, SchemaTable actualTable)

Creates a new instance that represents the difference between expectedTable and actualTable.

Source

SchemaTableDifference(this.expectedTable, this.actualTable) {
  if (expectedTable != null && actualTable != null) {
    for (var expectedColumn in expectedTable.columns) {
      var actualColumn = (actualTable != null ? actualTable[expectedColumn.name] : null);
      if (actualColumn == null) {
        _differingColumns.add(new SchemaColumnDifference(expectedColumn, null));
      } else {
        var diff = expectedColumn.differenceFrom(actualColumn);
        if (diff.hasDifferences) {
          _differingColumns.add(diff);
        }
      }
    }

    _differingColumns.addAll(actualTable.columns.where((t) => expectedTable[t.name] == null).map((unexpectedColumn) {
      return new SchemaColumnDifference(null, unexpectedColumn);
    }));

    uniqueSetDifference = new SchemaTableUniqueSetDifference(expectedTable, actualTable);
  }
}