TableSchema class final
Immutable physical table metadata, independent of Dart model identity.
The constructor copies collection inputs, including nested key and index column lists, and rejects empty table/schema names and names containing dots or NUL, including foreign-key targets. Schema consumers validate engine support before executing DDL.
final accounts = TableSchema(
'accounts',
columns: [Column('id', Codecs.integer), Column('email', Codecs.text)],
primaryKey: ['id'],
uniqueKeys: [['email']],
);
Constructors
-
TableSchema(String name, {String? namespace, required List<
Column< columns, List<Object?> >String> primaryKey = const [], List<List< uniqueKeys = const [], List<String> >ForeignKey> foreignKeys = const [], List<IndexSchema> indexes = const [], List<CheckSchema> checks = const []}) - Copies schema collections without opening or altering a database.
Properties
-
checks
→ List<
CheckSchema> -
Database CHECK constraints expressed in trusted SQL.
final
-
clientDefaults
→ List<
Column< Object?> > -
Columns with Dart insert factories, derived from columns.
final
-
columns
→ List<
Column< Object?> > -
Ordered columns used to render the physical schema.
final
-
foreignKeys
→ List<
ForeignKey> -
Database-enforced references to keys in other physical tables.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- identity → String
-
Stable physical identity for maps and diagnostics, never parsed as SQL.
no setter
-
indexes
→ List<
IndexSchema> -
Explicit indexes; foreign keys do not imply extra indexes here.
final
- name → String
-
Non-empty physical table name, without a schema prefix, dots or NUL.
final
- namespace → String?
-
PostgreSQL namespace. Generated PostgreSQL models always specify this,
including
public; other engines reject explicit namespaces. Null also preserves the meaning and fingerprints of historical metadata.final -
primaryKey
→ List<
String> -
Ordered primary-key column names, or an empty list when absent.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
uniqueKeys
→ List<
List< String> > -
Ordered column groups with database uniqueness constraints.
final
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited