final class TableFields
Restricted visibility: declared "@visibility root". Code outside that scope must not name this declaration.

Accumulates a CREATE TABLE declaration before validating its complete column set.

Methods§

public function appendColumn(array{name: string, type: string, columnType: ColumnDeclaration, notNull: bool, primaryKey: bool, unique: bool, default: string|null, identity: bool, generatedExpression: string|null} $columnDef): void

Records typed column metadata and its inline constraints.

Parameters

$columnDefarray{name: string, type: string, columnType: ColumnDeclaration, notNull: bool, primaryKey: bool, unique: bool, default: string|null, identity: bool, generatedExpression: string|null}
Test cases 1
Called from 1
Calls 3
public function definition(
    string $createTableSql,
    array<string, ForeignKeyDefinition> $foreignKeys,
): ?TableDefinition

Private surface 10§

Implementation details, listed for orientation only.

private list<string> $columns = []
private array<string, string> $columnTypes = []
private array<string, ColumnDeclaration> $typedColumns = []
private array<string, string> $columnDefaults = []
private array<string, IdentityGenerationStrategy> $identityStrategies = []
private array<string, string> $generatedExpressions = []
private list<string> $primaryKeys = []
private list<string> $notNullColumns = []
private array<string, list<string>> $uniqueConstraints = []
private int $uniqueIndex = 0

Test cases 12§

Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.

Dedicated tests 3
Other tests reaching this symbol 9

Relations§

Instantiated in 1
Method calls 2