TableDefinition
Single table definition with columns, indexes, and all constraints.
public sealed record TableDefinition : IEquatable<TableDefinition>
Properties
Schema
public string Schema { get; init; }
Database schema (e.g., "public", "dbo").
Name
public string Name { get; init; }
Table name.
Columns
public IReadOnlyList<ColumnDefinition> Columns { get; init; }
Column definitions in order.
Indexes
public IReadOnlyList<IndexDefinition> Indexes { get; init; }
Index definitions.
ForeignKeys
public IReadOnlyList<ForeignKeyDefinition> ForeignKeys { get; init; }
Foreign key constraints.
PrimaryKey
public PrimaryKeyDefinition? PrimaryKey { get; init; }
Primary key constraint.
UniqueConstraints
public IReadOnlyList<UniqueConstraintDefinition> UniqueConstraints { get; init; }
Unique constraints (semantic alternative to unique indexes).
CheckConstraints
public IReadOnlyList<CheckConstraintDefinition> CheckConstraints { get; init; }
Table-level check constraints (multi-column).
Comment
public string? Comment { get; init; }
Table comment/description for documentation.