Skip to content

Commit 44bb77a

Browse files
dmealingclaude
andcommitted
docs(changelog): TS has TWO persistence seams, and only one had the codec
The entry claimed "Drizzle customType codecs (TS)" as if that were the whole TS story. It is the codegen half; runtime-ts's metadata-driven ObjectManager is a second seam with its own codec, and it was missing entirely — generated code worked while om.create() bound the symbol into an integer column. Naming both is the accurate claim, and the near-miss is worth stating: a port with two seams can ship one of them and look finished. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 parent ad33bc1 commit 44bb77a

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,13 @@ inherits the members *and* their mapping — and an own `@intValueMap` declared
3838
shared enum is rejected for the same reason an own `@values` is (#246's twin: one shared enum
3939
type has one mapping).
4040

41-
Persistence ships in every port: Drizzle `customType` codecs (TS), EF Core `HasConversion`
42-
(C#), OMDB's `JdbcFieldCodec` (Java), Exposed `customEnumeration` (Kotlin) and
43-
`ObjectManager` coercion (Python), gated cross-port by the `AllTypes` round-trip corpus
44-
against real Postgres.
41+
Persistence ships in every port: EF Core `HasConversion` (C#), OMDB's `JdbcFieldCodec`
42+
(Java), Exposed `customEnumeration` (Kotlin), `ObjectManager` coercion (Python), and — in
43+
TypeScript — **both** seams, since TS has two: a Drizzle `customType` for generated code and
44+
`ObjectManager` read/write/filter coercion for the metadata-driven runtime. The second was
45+
missing until the corpus caught it: generated code worked while `om.create()` bound the member
46+
symbol straight into the integer column and Postgres rejected the statement. All gated
47+
cross-port by the `AllTypes` round-trip corpus against real Postgres.
4548

4649
Two decisions are worth naming because each closes a way the feature could have shipped
4750
half-true:

0 commit comments

Comments
 (0)