duplicatedCheckConstraints property

Map<String, List<String>>? get duplicatedCheckConstraints

The checkConstraints over the same column (case insensitive): by column, the constraints names (sorted). null if the checkConstraints are unknown.

Implementation

Map<String, List<String>>? get duplicatedCheckConstraints {
  var checkConstraints = this.checkConstraints;
  if (checkConstraints == null) return null;

  var byColumn = <String, List<String>>{};
  for (var e in checkConstraints.entries) {
    var column = e.value.field.toLowerCase();
    byColumn.putIfAbsent(column, () => <String>[]).add(e.key);
  }

  return Map.fromEntries(
    byColumn.entries
        .where((e) => e.value.length > 1)
        .map((e) => MapEntry(e.key, e.value..sort()))
        .sortedBy((e) => e.key),
  );
}