TableSchema constructor
TableSchema(
- String name, {
- required List<
Column< columns,Object?> > - List<
String> primaryKey = const [], - List<
List< uniqueKeys = const [],String> > - List<
ForeignKey> foreignKeys = const [], - List<
IndexSchema> indexes = const [], - List<
CheckSchema> checks = const [],
Copies schema collections without opening or altering a database.
Implementation
TableSchema(
this.name, {
required List<Column<Object?>> columns,
List<String> primaryKey = const [],
List<List<String>> uniqueKeys = const [],
List<ForeignKey> foreignKeys = const [],
List<IndexSchema> indexes = const [],
List<CheckSchema> checks = const [],
}) : columns = List.unmodifiable(columns),
clientDefaults = List.unmodifiable(
columns.where((c) => c.clientDefault != null),
),
primaryKey = List.unmodifiable(primaryKey),
uniqueKeys = List.unmodifiable(
uniqueKeys.map(List<String>.unmodifiable),
),
foreignKeys = List.unmodifiable([
for (final key in foreignKeys)
ForeignKey(
List.unmodifiable(key.columns),
key.target,
List.unmodifiable(key.targetColumns),
onDelete: key.onDelete,
),
]),
checks = List.unmodifiable(checks),
indexes = List.unmodifiable([
for (final index in indexes)
IndexSchema(
index.name,
List.unmodifiable(index.columns),
unique: index.unique,
),
]);