You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 04ccbe4
Browse filesBrowse the repository at this point in the historyBrowse files
feat(codegen-ts)!: derive native uuid[]/text[] from isArray; drop uuid_array/text_array dbColumnType values (phase 1)
dbColumnType slim-and-derive Phase 1 (TS port + migrate-ts). Applies the
project's derive-don't-declare principle (ADR-0023) to the @dbColumnType escape
hatch: the array-ness of a column already lives on the field's isArray axis, so
native Postgres arrays are DERIVED, never declared.
- metadata: remove uuid_array/text_array from the legal @dbColumnType value-set
(DB_COLUMN_TYPE_VALUES + DB_COLUMN_TYPE_LEGAL_SUBTYPES). Both now fail the
loader (ERR_BAD_ATTR_VALUE). Constants kept exported. Keeps uuid/jsonb/
timestamp_with_tz (timestamp_with_tz default flip is Phase 2). The shared
attr-description text (registry-conformance + metamodel-docs fixtures) is left
unchanged — those cross-port fixtures are coordinated separately.
- migrate-ts: derive native text[]/uuid[] from isArray on field.string/
field.uuid in subtypeToSqlType; drop the retired array overrides. Scalar
field.uuid -> uuid, no-maxLength field.string -> text (unchanged).
- codegen-ts: field.uuid scalar already maps to uuid(); field.uuid + isArray and
field.string + isArray already emit .array() via the scalar-array path -> no
column-mapper change needed; added explicit coverage. field.uuid was NOT a gap.
Tests: targeted unit suites green (metadata attr-schema-validate + db-definition-
completeness, codegen-ts column-mapper, migrate-ts expected-schema) plus the
registry-conformance + metamodel-docs byte-gates; typecheck clean for
metadata/codegen-ts/migrate-ts. No persistence fixture uses native arrays, so the
committed canonical schema.postgres.sql is unchanged.
Part of #dbcoltype-phase1
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LuZWKnWzYGVnESijL7uuky
0 commit comments