TableDefinition

Classes > Migration > 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.