constraints property

List<TableConstraint> get constraints

All table constraints that have been added to this table.

This typically includes the primary key (if it hasn't been set as a ColumnConstraint on a single column) or unique keys.

This does not include customConstraints added to the table.

Implementation

List<TableConstraint> get constraints {
  final pk = primaryKey;
  final hasPkOnColumn = columns.any(
    (e) => e.constraints.any((c) => c is ColumnPrimaryKeyConstraint),
  );

  return [
    if (pk != null && pk.isNotEmpty && !hasPkOnColumn)
      TablePrimaryKeyConstraint(pk.toList().cast()),
    // ignore: invalid_use_of_visible_for_overriding_member
    if (uniqueKeys case final uniqueKeys?)
      for (final unique in uniqueKeys)
        TableUniqueKeyConstraint(unique.toList().cast()),
  ];
}