@rudderjs/database 1.3.1 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,6 +4,7 @@ import type { Driver, Row } from './driver.js';
4
4
  import type { ReadReplicaPicker } from './replica-picker.js';
5
5
  import { SchemaBuilder } from './schema/schema-builder.js';
6
6
  import type { ModelCastInfo } from './schema/schema-types.js';
7
+ import type { TableIntent } from './schema/intent-replay.js';
7
8
  /** Supported native drivers. SQLite (better-sqlite3), Postgres (porsager
8
9
  * `postgres`), and MySQL (`mysql2`). */
9
10
  export type NativeDriverName = 'sqlite' | 'pg' | 'mysql';
@@ -153,11 +154,13 @@ export declare class NativeAdapter implements OrmAdapter {
153
154
  /**
154
155
  * Generate `.rudder/types/models.d.ts` from THIS connection's live
155
156
  * schema (GATE 7-types) — introspect every table, fold in each model's
156
- * declared `casts`, and (re)write the registry. Node-only; the fs-writing
157
- * orchestrator is lazily imported so the adapter's static eval graph stays
158
- * import-light. Returns the written path + table count for the CLI to report.
157
+ * declared `casts` plus the blueprint-declared `intent` recovered by
158
+ * migration replay (`cast > intent > storage type`), and (re)write the
159
+ * registry. Node-only; the fs-writing orchestrator is lazily imported so the
160
+ * adapter's static eval graph stays import-light. Returns the written path +
161
+ * table count for the CLI to report.
159
162
  */
160
- generateSchemaTypes(cwd: string, models?: ModelCastInfo[]): Promise<{
163
+ generateSchemaTypes(cwd: string, models?: ModelCastInfo[], intent?: TableIntent): Promise<{
161
164
  path: string;
162
165
  tableCount: number;
163
166
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/native/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/native/adapter.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ import { PostgresDriver } from './drivers/postgres.js';
20
20
  import { MysqlDriver } from './drivers/mysql.js';
21
21
  import { SchemaBuilder } from './schema/schema-builder.js';
22
22
  import { readColumns } from './schema/introspect.js';
23
+ import { isIntentReplayActive, refuseIntentReplayStatement } from './intent-guard.js';
23
24
  const NATIVE_CLIENT_CACHE_KEY = '__rudderjs_native_client__';
24
25
  function nativeClientCache() {
25
26
  const g = globalThis;
@@ -66,6 +67,13 @@ function cacheNativeClient(cacheKey, entry) {
66
67
  * reported (Laravel parity — `QueryExecuted` doesn't fire on a query error).
67
68
  * `affectingExecute` is forwarded only when the underlying driver implements it,
68
69
  * so capability checks (`typeof ex.affectingExecute === 'function'`) still hold.
70
+ *
71
+ * This wrapper is also the single funnel EVERY NativeAdapter statement flows
72
+ * through (write executor, read replicas, transaction scopes), so it hosts the
73
+ * blueprint-intent replay guard: while `collectBlueprintIntent` re-runs applied
74
+ * migrations' `up()` bodies to recover declared column types, a runtime
75
+ * statement (a `DB.statement` backfill, a Model write) must throw rather than
76
+ * re-execute. See `./intent-guard.ts`.
69
77
  */
70
78
  function instrumentExecutor(exec, listeners, connection,
71
79
  /** Read/write-split side tag for query events. Only set when the connection
@@ -87,6 +95,8 @@ target) {
87
95
  };
88
96
  const wrapped = {
89
97
  async execute(sql, bindings) {
98
+ if (isIntentReplayActive())
99
+ refuseIntentReplayStatement();
90
100
  const startedAt = performance.now();
91
101
  const rows = await exec.execute(sql, bindings);
92
102
  emit(sql, bindings, startedAt);
@@ -97,6 +107,8 @@ target) {
97
107
  if (typeof affecting.affectingExecute === 'function') {
98
108
  const affectingExecute = affecting.affectingExecute.bind(exec);
99
109
  wrapped.affectingExecute = async (sql, bindings) => {
110
+ if (isIntentReplayActive())
111
+ refuseIntentReplayStatement();
100
112
  const startedAt = performance.now();
101
113
  const result = await affectingExecute(sql, bindings);
102
114
  emit(sql, bindings, startedAt);
@@ -350,13 +362,15 @@ export class NativeAdapter {
350
362
  /**
351
363
  * Generate `.rudder/types/models.d.ts` from THIS connection's live
352
364
  * schema (GATE 7-types) — introspect every table, fold in each model's
353
- * declared `casts`, and (re)write the registry. Node-only; the fs-writing
354
- * orchestrator is lazily imported so the adapter's static eval graph stays
355
- * import-light. Returns the written path + table count for the CLI to report.
365
+ * declared `casts` plus the blueprint-declared `intent` recovered by
366
+ * migration replay (`cast > intent > storage type`), and (re)write the
367
+ * registry. Node-only; the fs-writing orchestrator is lazily imported so the
368
+ * adapter's static eval graph stays import-light. Returns the written path +
369
+ * table count for the CLI to report.
356
370
  */
357
- async generateSchemaTypes(cwd, models = []) {
371
+ async generateSchemaTypes(cwd, models = [], intent) {
358
372
  const { generateSchemaTypes } = await import('./schema/schema-types.js');
359
- return generateSchemaTypes(this.executor, this.dialect, cwd, models);
373
+ return generateSchemaTypes(this.executor, this.dialect, cwd, models, intent);
360
374
  }
361
375
  /**
362
376
  * Database overview for `rudder db:show` — dialect, version, database name,
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/native/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/native/adapter.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,8 @@ export * from './schema/introspect.js';
21
21
  export * from './schema/inspect.js';
22
22
  export * from './schema/types-generator.js';
23
23
  export * from './schema/schema-types.js';
24
+ export * from './schema/intent-replay.js';
25
+ export * from './intent-guard.js';
24
26
  export * from './schema/migration.js';
25
27
  export * from './schema/schema-facade.js';
26
28
  export * from './schema/migrator.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"AA4BA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAGlC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA;AACzC,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"AA4BA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAGlC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0BAA0B,CAAA;AACxC,cAAc,2BAA2B,CAAA;AACzC,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA;AACzC,cAAc,sBAAsB,CAAA"}
@@ -49,6 +49,8 @@ export * from './schema/introspect.js';
49
49
  export * from './schema/inspect.js';
50
50
  export * from './schema/types-generator.js';
51
51
  export * from './schema/schema-types.js';
52
+ export * from './schema/intent-replay.js';
53
+ export * from './intent-guard.js';
52
54
  export * from './schema/migration.js';
53
55
  export * from './schema/schema-facade.js';
54
56
  export * from './schema/migrator.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,EAAE;AACF,6EAA6E;AAC7E,6EAA6E;AAC7E,2EAA2E;AAC3E,uEAAuE;AACvE,6EAA6E;AAC7E,0EAA0E;AAC1E,0EAA0E;AAC1E,yEAAyE;AACzE,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,SAAS;AACT,EAAE;AACF,6EAA6E;AAC7E,+EAA+E;AAC/E,0EAA0E;AAC1E,iFAAiF;AACjF,EAAE;AACF,+EAA+E;AAC/E,4EAA4E;AAC5E,6EAA6E;AAC7E,+EAA+E;AAC/E,wEAAwE;AACxE,qEAAqE;AAErE,eAAe;AACf,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAElC,8EAA8E;AAC9E,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA;AACzC,cAAc,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/native/index.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,EAAE;AACF,6EAA6E;AAC7E,6EAA6E;AAC7E,2EAA2E;AAC3E,uEAAuE;AACvE,6EAA6E;AAC7E,0EAA0E;AAC1E,0EAA0E;AAC1E,yEAAyE;AACzE,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,SAAS;AACT,EAAE;AACF,6EAA6E;AAC7E,+EAA+E;AAC/E,0EAA0E;AAC1E,iFAAiF;AACjF,EAAE;AACF,+EAA+E;AAC/E,4EAA4E;AAC5E,6EAA6E;AAC7E,+EAA+E;AAC/E,wEAAwE;AACxE,qEAAqE;AAErE,eAAe;AACf,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAElC,8EAA8E;AAC9E,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0BAA0B,CAAA;AACxC,cAAc,2BAA2B,CAAA;AACzC,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA;AACzC,cAAc,sBAAsB,CAAA"}
@@ -0,0 +1,7 @@
1
+ /** Whether a blueprint-intent replay is currently in progress. */
2
+ export declare function isIntentReplayActive(): boolean;
3
+ /** Throw the replay-window error a runtime statement must surface. */
4
+ export declare function refuseIntentReplayStatement(): never;
5
+ /** Run `fn` with the replay guard armed, disarming afterwards even on throw. */
6
+ export declare function withIntentReplayGuard<T>(fn: () => Promise<T>): Promise<T>;
7
+ //# sourceMappingURL=intent-guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent-guard.d.ts","sourceRoot":"","sources":["../../src/native/intent-guard.ts"],"names":[],"mappings":"AAuBA,kEAAkE;AAClE,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAED,sEAAsE;AACtE,wBAAgB,2BAA2B,IAAI,KAAK,CAQnD;AAED,gFAAgF;AAChF,wBAAsB,qBAAqB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAO/E"}
@@ -0,0 +1,42 @@
1
+ // ─── Blueprint-intent replay guard ─────────────────────────
2
+ //
3
+ // While `collectBlueprintIntent` replays applied migration files to recover
4
+ // their declared column types (see `schema/intent-replay.ts`), a migration's
5
+ // `up()` may contain RUNTIME statements alongside its `Schema` calls — a
6
+ // `DB.statement(...)` data backfill, a Model write. Re-executing those on
7
+ // every `schema:types` run would corrupt data, so the replay window arms this
8
+ // guard and `instrumentExecutor` (the single funnel every NativeAdapter
9
+ // statement flows through — write executor, read replicas, and transaction
10
+ // scopes alike) refuses with {@link NativeOrmError} `NATIVE_INTENT_REPLAY`.
11
+ // The replayer catches the throw per-migration and simply skips the rest of
12
+ // that migration's intent — types fall back to the introspected storage
13
+ // mapping, never to a wrong answer.
14
+ //
15
+ // Module-level state is safe here: the replay runs serially inside a CLI
16
+ // process (`migrate` / `schema:types`), where nothing else is querying. The
17
+ // orm shim (`@rudderjs/orm/native`) re-exports this same module instance, so
18
+ // both import paths share one flag.
19
+ import { NativeOrmError } from './errors.js';
20
+ let active = false;
21
+ /** Whether a blueprint-intent replay is currently in progress. */
22
+ export function isIntentReplayActive() {
23
+ return active;
24
+ }
25
+ /** Throw the replay-window error a runtime statement must surface. */
26
+ export function refuseIntentReplayStatement() {
27
+ throw new NativeOrmError('NATIVE_INTENT_REPLAY', `[RudderJS ORM native] A database statement was attempted during blueprint-intent replay. ` +
28
+ `Migration up() bodies are re-run (against a recording schema only) to recover declared column ` +
29
+ `types for schema:types — runtime statements (DB.*, Model queries) are never re-executed. ` +
30
+ `This migration's remaining intent is skipped; its columns keep their introspected types.`);
31
+ }
32
+ /** Run `fn` with the replay guard armed, disarming afterwards even on throw. */
33
+ export async function withIntentReplayGuard(fn) {
34
+ active = true;
35
+ try {
36
+ return await fn();
37
+ }
38
+ finally {
39
+ active = false;
40
+ }
41
+ }
42
+ //# sourceMappingURL=intent-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent-guard.js","sourceRoot":"","sources":["../../src/native/intent-guard.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,EAAE;AACF,4EAA4E;AAC5E,6EAA6E;AAC7E,yEAAyE;AACzE,0EAA0E;AAC1E,8EAA8E;AAC9E,wEAAwE;AACxE,2EAA2E;AAC3E,4EAA4E;AAC5E,4EAA4E;AAC5E,wEAAwE;AACxE,oCAAoC;AACpC,EAAE;AACF,yEAAyE;AACzE,4EAA4E;AAC5E,6EAA6E;AAC7E,oCAAoC;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,IAAI,MAAM,GAAG,KAAK,CAAA;AAElB,kEAAkE;AAClE,MAAM,UAAU,oBAAoB;IAClC,OAAO,MAAM,CAAA;AACf,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,2BAA2B;IACzC,MAAM,IAAI,cAAc,CACtB,sBAAsB,EACtB,2FAA2F;QAC3F,gGAAgG;QAChG,2FAA2F;QAC3F,0FAA0F,CAC3F,CAAA;AACH,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAI,EAAoB;IACjE,MAAM,GAAG,IAAI,CAAA;IACb,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAA;IACnB,CAAC;YAAS,CAAC;QACT,MAAM,GAAG,KAAK,CAAA;IAChB,CAAC;AACH,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { ColumnType } from './column.js';
2
+ import type { LoadedMigration } from './migrator.js';
3
+ /** Declared column types per table, recovered from blueprint replay:
4
+ * table → column → the blueprint's {@link ColumnType}. */
5
+ export type TableIntent = Map<string, Map<string, ColumnType>>;
6
+ /** Outcome of {@link collectBlueprintIntent}. */
7
+ export interface BlueprintIntentResult {
8
+ intent: TableIntent;
9
+ /** Migrations whose `up()` threw during replay (runtime statements, schema
10
+ * reads the ledger couldn't satisfy, …). Their intent recorded before the
11
+ * throw is kept — an applied migration's earlier ops did run historically —
12
+ * but the remainder is skipped. */
13
+ skipped: string[];
14
+ }
15
+ /**
16
+ * Replay the APPLIED migrations (filtered + ordered by `applied`, the
17
+ * `migrations` state table's apply order) and return the declared column
18
+ * types per table. Applied migrations whose files are gone are skipped
19
+ * silently (same tolerance as `migrate:status`); an `up()` that throws —
20
+ * the guard refusing a runtime statement, usually — lands in `skipped` and
21
+ * contributes only the intent it recorded before the throw.
22
+ *
23
+ * Binds with `pretend: true` so `Schema.connection()` refuses during replay
24
+ * (DDL on a second connection would execute for real).
25
+ */
26
+ export declare function collectBlueprintIntent(migrations: LoadedMigration[], applied: string[]): Promise<BlueprintIntentResult>;
27
+ //# sourceMappingURL=intent-replay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent-replay.d.ts","sourceRoot":"","sources":["../../../src/native/schema/intent-replay.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AASpD;2DAC2D;AAC3D,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;AAE9D,iDAAiD;AACjD,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAG,WAAW,CAAA;IACpB;;;wCAGoC;IACpC,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAyHD;;;;;;;;;;GAUG;AACH,wBAAsB,sBAAsB,CAC1C,UAAU,EAAE,eAAe,EAAE,EAC7B,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,qBAAqB,CAAC,CAmBhC"}
@@ -0,0 +1,173 @@
1
+ // ─── Blueprint-intent replay (schema:types fallback layer) ──
2
+ //
3
+ // On SQLite a `t.boolean()` / `t.json()` column introspects as its storage
4
+ // affinity (INTEGER / TEXT), so the typed registry only got the right TS type
5
+ // when the model declared a matching cast. The migration files already carry
6
+ // the INTENT — this module recovers it at generation time by REPLAYING the
7
+ // applied migrations' `up()` bodies against a recording schema builder that
8
+ // applies each blueprint to an in-memory ledger instead of executing DDL.
9
+ //
10
+ // Why replay (vs persisting intent at migrate time, or a sidecar file per
11
+ // migration): the migration files are already the committed source of truth,
12
+ // so replay needs no state-table schema change, no extra artifacts to commit,
13
+ // and — decisively — works retroactively for every existing app whose
14
+ // migrations ran before this feature shipped. See the plan doc
15
+ // `docs/plans/2026-06-05-schema-types-cast-folding-needs-import-time-registration.md`.
16
+ //
17
+ // Replay is bounded to APPLIED migrations (the `migrations` state table, in
18
+ // apply order) so a pending migration's intent — e.g. a future `.change()` —
19
+ // can never claim a type ahead of the live schema. It is also PURE:
20
+ // `hasTable` / `hasColumn` answer from the ledger (mirroring the historical
21
+ // schema state at that point in the sequence), and the guard in
22
+ // `../intent-guard.ts` makes any runtime statement inside an `up()` (a
23
+ // `DB.statement` backfill, a Model write) throw instead of re-executing —
24
+ // the replayer catches per-migration and skips the rest of that migration's
25
+ // intent. Intent is a fallback REFINEMENT only (cast > intent > introspected
26
+ // storage type): a column missing from the ledger just keeps its storage type.
27
+ import { Blueprint } from './blueprint.js';
28
+ import { AlterBlueprint } from './alter-blueprint.js';
29
+ import { SchemaBuilder } from './schema-builder.js';
30
+ import { withSchema } from './schema-facade.js';
31
+ import { SqliteDialect } from '../dialect.js';
32
+ import { withIntentReplayGuard, refuseIntentReplayStatement } from '../intent-guard.js';
33
+ /** The in-memory schema the replay maintains. Apply order mirrors the real
34
+ * migrator's, so the ledger at step N is the declared schema as of step N. */
35
+ class IntentLedger {
36
+ tables = new Map();
37
+ table(name) {
38
+ let cols = this.tables.get(name);
39
+ if (!cols) {
40
+ cols = new Map();
41
+ this.tables.set(name, cols);
42
+ }
43
+ return cols;
44
+ }
45
+ /** CREATE TABLE — replaces any prior entry (drop + recreate). */
46
+ create(name, columns) {
47
+ const cols = new Map();
48
+ for (const c of columns)
49
+ cols.set(c.name, c.type);
50
+ this.tables.set(name, cols);
51
+ }
52
+ /** ADD COLUMN / `.change()` — both upsert the declared type. */
53
+ setColumn(table, column, type) {
54
+ this.table(table).set(column, type);
55
+ }
56
+ dropColumn(table, column) {
57
+ this.tables.get(table)?.delete(column);
58
+ }
59
+ renameColumn(table, from, to) {
60
+ const cols = this.tables.get(table);
61
+ if (!cols)
62
+ return;
63
+ const type = cols.get(from);
64
+ if (type === undefined)
65
+ return;
66
+ cols.delete(from);
67
+ cols.set(to, type);
68
+ }
69
+ renameTable(from, to) {
70
+ const cols = this.tables.get(from);
71
+ if (!cols)
72
+ return;
73
+ this.tables.delete(from);
74
+ this.tables.set(to, cols);
75
+ }
76
+ dropTable(name) {
77
+ this.tables.delete(name);
78
+ }
79
+ }
80
+ /** A throwing executor: nothing in the replay path may reach one — a call
81
+ * means an un-overridden {@link SchemaBuilder} method slipped through. */
82
+ const inertExecutor = {
83
+ execute() {
84
+ return refuseIntentReplayStatement();
85
+ },
86
+ };
87
+ /**
88
+ * A {@link SchemaBuilder} that applies blueprints to an {@link IntentLedger}
89
+ * instead of compiling/executing DDL. Subclasses the real builder (the
90
+ * `Schema` facade types against the class, whose private fields make it
91
+ * nominal) over an inert executor + a dummy dialect — every public method is
92
+ * overridden, so neither is ever consulted.
93
+ */
94
+ class IntentSchemaBuilder extends SchemaBuilder {
95
+ ledger;
96
+ constructor(ledger) {
97
+ super(inertExecutor, new SqliteDialect());
98
+ this.ledger = ledger;
99
+ }
100
+ async create(table, build) {
101
+ const blueprint = new Blueprint(table);
102
+ build(blueprint);
103
+ this.ledger.create(table, blueprint.columns);
104
+ }
105
+ async table(table, build) {
106
+ const blueprint = new AlterBlueprint(table);
107
+ build(blueprint);
108
+ // Order mirrors the real ALTER: adds/changes, renames, then drops.
109
+ for (const col of blueprint.columns)
110
+ this.ledger.setColumn(table, col.name, col.type);
111
+ for (const { from, to } of blueprint.renamedColumns)
112
+ this.ledger.renameColumn(table, from, to);
113
+ for (const name of blueprint.droppedColumns)
114
+ this.ledger.dropColumn(table, name);
115
+ }
116
+ async rename(from, to) {
117
+ this.ledger.renameTable(from, to);
118
+ }
119
+ async drop(table) {
120
+ this.ledger.dropTable(table);
121
+ }
122
+ async dropIfExists(table) {
123
+ this.ledger.dropTable(table);
124
+ }
125
+ async allTables() {
126
+ return [...this.ledger.tables.keys()];
127
+ }
128
+ async dropAllTables() {
129
+ this.ledger.tables.clear();
130
+ }
131
+ /** Answer from the ledger — the declared schema as of this replay step. A
132
+ * table created outside blueprints (raw DDL) reads as absent; an `up()`
133
+ * branching on that may diverge from its historical run, which at worst
134
+ * loses intent for the affected columns (they keep their storage types). */
135
+ async hasTable(table) {
136
+ return this.ledger.tables.has(table);
137
+ }
138
+ async hasColumn(table, column) {
139
+ return this.ledger.tables.get(table)?.has(column) ?? false;
140
+ }
141
+ }
142
+ /**
143
+ * Replay the APPLIED migrations (filtered + ordered by `applied`, the
144
+ * `migrations` state table's apply order) and return the declared column
145
+ * types per table. Applied migrations whose files are gone are skipped
146
+ * silently (same tolerance as `migrate:status`); an `up()` that throws —
147
+ * the guard refusing a runtime statement, usually — lands in `skipped` and
148
+ * contributes only the intent it recorded before the throw.
149
+ *
150
+ * Binds with `pretend: true` so `Schema.connection()` refuses during replay
151
+ * (DDL on a second connection would execute for real).
152
+ */
153
+ export async function collectBlueprintIntent(migrations, applied) {
154
+ const ledger = new IntentLedger();
155
+ const builder = new IntentSchemaBuilder(ledger);
156
+ const byName = new Map(migrations.map((m) => [m.name, m.migration]));
157
+ const skipped = [];
158
+ await withIntentReplayGuard(async () => {
159
+ for (const name of applied) {
160
+ const migration = byName.get(name);
161
+ if (!migration)
162
+ continue;
163
+ try {
164
+ await withSchema(builder, () => migration.up(), { pretend: true });
165
+ }
166
+ catch {
167
+ skipped.push(name);
168
+ }
169
+ }
170
+ });
171
+ return { intent: ledger.tables, skipped };
172
+ }
173
+ //# sourceMappingURL=intent-replay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intent-replay.js","sourceRoot":"","sources":["../../../src/native/schema/intent-replay.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { Executor } from '../driver.js';
2
2
  import type { Dialect } from '../dialect.js';
3
3
  import { type TableTypes } from './types-generator.js';
4
+ import type { TableIntent } from './intent-replay.js';
4
5
  /** A model's contribution to type resolution: its table name + declared casts. */
5
6
  export interface ModelCastInfo {
6
7
  table: string;
@@ -8,11 +9,13 @@ export interface ModelCastInfo {
8
9
  }
9
10
  /**
10
11
  * Introspect every user table and build the {@link TableTypes} for each, folding
11
- * in `casts` for any table a model declares them on (matched by table name).
12
- * Pure-ish: only reads the DB, returns data the file write is separate so this
13
- * is unit-testable against an in-memory connection.
12
+ * in `casts` for any table a model declares them on (matched by table name) and
13
+ * the blueprint-declared `intent` recovered by migration replay (fallback for
14
+ * cast-less columns `cast > intent > storage type`). Pure-ish: only reads the
15
+ * DB, returns data — the file write is separate so this is unit-testable
16
+ * against an in-memory connection.
14
17
  */
15
- export declare function collectSchemaTypes(executor: Executor, dialect: Dialect, models?: ModelCastInfo[]): Promise<TableTypes[]>;
18
+ export declare function collectSchemaTypes(executor: Executor, dialect: Dialect, models?: ModelCastInfo[], intent?: TableIntent): Promise<TableTypes[]>;
16
19
  /**
17
20
  * Default output path for the generated registry, relative to an app root.
18
21
  *
@@ -27,7 +30,7 @@ export declare function registryDtsPath(cwd: string): string;
27
30
  * `.rudder/types/models.d.ts`. Returns the written path + table count
28
31
  * for the CLI to report. Creating the dir is idempotent.
29
32
  */
30
- export declare function generateSchemaTypes(executor: Executor, dialect: Dialect, cwd: string, models?: ModelCastInfo[]): Promise<{
33
+ export declare function generateSchemaTypes(executor: Executor, dialect: Dialect, cwd: string, models?: ModelCastInfo[], intent?: TableIntent): Promise<{
31
34
  path: string;
32
35
  tableCount: number;
33
36
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"schema-types.d.ts","sourceRoot":"","sources":["../../../src/native/schema/schema-types.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAE5C,OAAO,EAA+E,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEnI,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC9B;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,MAAM,GAAE,aAAa,EAAO,GAC3B,OAAO,CAAC,UAAU,EAAE,CAAC,CAgBvB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;AAQD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,aAAa,EAAO,GAC3B,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAe/C"}
1
+ {"version":3,"file":"schema-types.d.ts","sourceRoot":"","sources":["../../../src/native/schema/schema-types.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAE5C,OAAO,EAA+E,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACnI,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAErD,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC9B;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,MAAM,GAAE,aAAa,EAAO,EAC5B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,UAAU,EAAE,CAAC,CAgBvB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD;AAQD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,aAAa,EAAO,EAC5B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAe/C"}
@@ -12,11 +12,13 @@ import { readTables, readColumns } from './introspect.js';
12
12
  import { buildTableTypes, emitRegistryDts, sqliteTypeToTs, pgTypeToTs, mysqlTypeToTs } from './types-generator.js';
13
13
  /**
14
14
  * Introspect every user table and build the {@link TableTypes} for each, folding
15
- * in `casts` for any table a model declares them on (matched by table name).
16
- * Pure-ish: only reads the DB, returns data the file write is separate so this
17
- * is unit-testable against an in-memory connection.
15
+ * in `casts` for any table a model declares them on (matched by table name) and
16
+ * the blueprint-declared `intent` recovered by migration replay (fallback for
17
+ * cast-less columns `cast > intent > storage type`). Pure-ish: only reads the
18
+ * DB, returns data — the file write is separate so this is unit-testable
19
+ * against an in-memory connection.
18
20
  */
19
- export async function collectSchemaTypes(executor, dialect, models = []) {
21
+ export async function collectSchemaTypes(executor, dialect, models = [], intent) {
20
22
  const castsByTable = new Map(models.map((m) => [m.table, m.casts]));
21
23
  // Per-dialect storage→TS mapper: Postgres / MySQL data types differ from
22
24
  // SQLite's fuzzy affinities (e.g. `jsonb`, `timestamptz`, `numeric`/`decimal`
@@ -28,7 +30,7 @@ export async function collectSchemaTypes(executor, dialect, models = []) {
28
30
  const out = [];
29
31
  for (const table of tables) {
30
32
  const columns = await readColumns(executor, dialect, table);
31
- out.push(buildTableTypes(table, columns, castsByTable.get(table) ?? {}, typeToTs));
33
+ out.push(buildTableTypes(table, columns, castsByTable.get(table) ?? {}, typeToTs, intent?.get(table)));
32
34
  }
33
35
  return out;
34
36
  }
@@ -53,8 +55,8 @@ function legacyRegistryDtsPath(cwd) {
53
55
  * `.rudder/types/models.d.ts`. Returns the written path + table count
54
56
  * for the CLI to report. Creating the dir is idempotent.
55
57
  */
56
- export async function generateSchemaTypes(executor, dialect, cwd, models = []) {
57
- const tables = await collectSchemaTypes(executor, dialect, models);
58
+ export async function generateSchemaTypes(executor, dialect, cwd, models = [], intent) {
59
+ const tables = await collectSchemaTypes(executor, dialect, models, intent);
58
60
  const contents = emitRegistryDts(tables);
59
61
  const path = registryDtsPath(cwd);
60
62
  await mkdir(dirname(path), { recursive: true });
@@ -1 +1 @@
1
- {"version":3,"file":"schema-types.js","sourceRoot":"","sources":["../../../src/native/schema/schema-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-types.js","sourceRoot":"","sources":["../../../src/native/schema/schema-types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { RawColumn } from './introspect.js';
2
+ import type { ColumnType } from './column.js';
2
3
  import type { BuiltInCast } from '@rudderjs/contracts';
3
4
  /** A column's resolved TypeScript type plus whether it's optional on read. */
4
5
  export interface GeneratedColumnType {
@@ -54,15 +55,39 @@ export declare function mysqlTypeToTs(declared: string): string;
54
55
  */
55
56
  export declare function castToTs(cast: BuiltInCast | string): string | null;
56
57
  /**
57
- * Resolve one column's TS type: a declared cast wins over the storage mapping,
58
- * and a nullable column widens with `| null`. The primary key and NOT NULL
58
+ * The TS type a blueprint's declared {@link ColumnType} refines a CAST-LESS
59
+ * column to the middle layer of the precedence `cast > blueprint intent >
60
+ * introspected storage type`. Returns null for types where the storage mapping
61
+ * is already faithful (or where folding the intent would lie about runtime):
62
+ *
63
+ * - `boolean` → `boolean`: writes are safe everywhere (every driver binds
64
+ * `true`/`false`, the sqlite driver maps them to 1/0); reads return `0`/`1`
65
+ * on sqlite (and mysql `tinyint(1)`) without a `boolean` cast — truthiness
66
+ * behaves identically, but strict `=== true` comparisons need the cast.
67
+ * This is the deliberate 90%-case trade-off the plan doc's option 3 names.
68
+ * - `json`/`jsonb` → `unknown`: SOUND on every dialect — sqlite reads the raw
69
+ * TEXT (a string ⊆ unknown; a `json` cast gets parsed reads), and the
70
+ * binding funnel JSON-stringifies object/array writes, which `unknown`
71
+ * admits and the affinity type `string` wrongly rejected.
72
+ * - date family (`date`/`dateTime`/`timestamp`/`time`) → null, deliberately:
73
+ * on sqlite a cast-less column reads as TEXT *and* better-sqlite3 REJECTS a
74
+ * `Date` binding — emitting `Date` would make tsc bless writes that throw
75
+ * at runtime. The `date`/`datetime` cast (which parses reads AND serializes
76
+ * writes) is the correct tool; pg/mysql introspection already yields `Date`.
77
+ */
78
+ export declare function blueprintIntentToTs(type: ColumnType): string | null;
79
+ /**
80
+ * Resolve one column's TS type — `cast > blueprint intent > storage mapping` —
81
+ * and widen nullable columns with `| null`. The primary key and NOT NULL
59
82
  * columns stay non-null. `typeToTs` is the per-dialect storage mapper
60
- * ({@link sqliteTypeToTs} by default; {@link pgTypeToTs} for Postgres).
83
+ * ({@link sqliteTypeToTs} by default; {@link pgTypeToTs} for Postgres);
84
+ * `intent` is the column's blueprint-declared type when the migration replay
85
+ * recovered one (see `intent-replay.ts`).
61
86
  */
62
- export declare function resolveColumnType(col: RawColumn, casts: Record<string, string>, typeToTs?: (declared: string) => string): GeneratedColumnType;
63
- /** Build one table's {@link TableTypes} from its columns + casts, using the
64
- * given per-dialect storage mapper (defaults to the SQLite mapping). */
65
- export declare function buildTableTypes(table: string, columns: RawColumn[], casts?: Record<string, string>, typeToTs?: (declared: string) => string): TableTypes;
87
+ export declare function resolveColumnType(col: RawColumn, casts: Record<string, string>, typeToTs?: (declared: string) => string, intent?: ReadonlyMap<string, ColumnType>): GeneratedColumnType;
88
+ /** Build one table's {@link TableTypes} from its columns + casts + blueprint
89
+ * intent, using the given per-dialect storage mapper (defaults to SQLite). */
90
+ export declare function buildTableTypes(table: string, columns: RawColumn[], casts?: Record<string, string>, typeToTs?: (declared: string) => string, intent?: ReadonlyMap<string, ColumnType>): TableTypes;
66
91
  /**
67
92
  * Emit the full `registry.d.ts` contents: a `declare module '@rudderjs/orm'`
68
93
  * augmentation extending `SchemaRegistry` with one entry per table. Tables are
@@ -1 +1 @@
1
- {"version":3,"file":"types-generator.d.ts","sourceRoot":"","sources":["../../../src/native/schema/types-generator.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEtD,8EAA8E;AAC9E,MAAM,WAAW,mBAAmB;IAClC,sEAAsE;IACtE,EAAE,EAAQ,MAAM,CAAA;IAChB,qDAAqD;IACrD,IAAI,EAAM,MAAM,CAAA;CACjB;AAED,gEAAgE;AAChE,MAAM,WAAW,UAAU;IACzB,KAAK,EAAI,MAAM,CAAA;IACf,OAAO,EAAE,mBAAmB,EAAE,CAAA;CAC/B;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOvD;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAsBnD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAyBtD;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAmBlE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,QAAQ,GAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAuB,GACtD,mBAAmB,CAMrB;AAED;yEACyE;AACzE,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,SAAS,EAAE,EACpB,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAClC,QAAQ,GAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAuB,GACtD,UAAU,CAEZ;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAiB5D"}
1
+ {"version":3,"file":"types-generator.d.ts","sourceRoot":"","sources":["../../../src/native/schema/types-generator.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEtD,8EAA8E;AAC9E,MAAM,WAAW,mBAAmB;IAClC,sEAAsE;IACtE,EAAE,EAAQ,MAAM,CAAA;IAChB,qDAAqD;IACrD,IAAI,EAAM,MAAM,CAAA;CACjB;AAED,gEAAgE;AAChE,MAAM,WAAW,UAAU;IACzB,KAAK,EAAI,MAAM,CAAA;IACf,OAAO,EAAE,mBAAmB,EAAE,CAAA;CAC/B;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOvD;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAsBnD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAyBtD;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAmBlE;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAOnE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7B,QAAQ,GAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAuB,EACvD,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,GACvC,mBAAmB,CAUrB;AAED;+EAC+E;AAC/E,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,SAAS,EAAE,EACpB,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAClC,QAAQ,GAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAuB,EACvD,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,GACvC,UAAU,CAEZ;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAiB5D"}
@@ -135,22 +135,56 @@ export function castToTs(cast) {
135
135
  }
136
136
  }
137
137
  /**
138
- * Resolve one column's TS type: a declared cast wins over the storage mapping,
139
- * and a nullable column widens with `| null`. The primary key and NOT NULL
138
+ * The TS type a blueprint's declared {@link ColumnType} refines a CAST-LESS
139
+ * column to the middle layer of the precedence `cast > blueprint intent >
140
+ * introspected storage type`. Returns null for types where the storage mapping
141
+ * is already faithful (or where folding the intent would lie about runtime):
142
+ *
143
+ * - `boolean` → `boolean`: writes are safe everywhere (every driver binds
144
+ * `true`/`false`, the sqlite driver maps them to 1/0); reads return `0`/`1`
145
+ * on sqlite (and mysql `tinyint(1)`) without a `boolean` cast — truthiness
146
+ * behaves identically, but strict `=== true` comparisons need the cast.
147
+ * This is the deliberate 90%-case trade-off the plan doc's option 3 names.
148
+ * - `json`/`jsonb` → `unknown`: SOUND on every dialect — sqlite reads the raw
149
+ * TEXT (a string ⊆ unknown; a `json` cast gets parsed reads), and the
150
+ * binding funnel JSON-stringifies object/array writes, which `unknown`
151
+ * admits and the affinity type `string` wrongly rejected.
152
+ * - date family (`date`/`dateTime`/`timestamp`/`time`) → null, deliberately:
153
+ * on sqlite a cast-less column reads as TEXT *and* better-sqlite3 REJECTS a
154
+ * `Date` binding — emitting `Date` would make tsc bless writes that throw
155
+ * at runtime. The `date`/`datetime` cast (which parses reads AND serializes
156
+ * writes) is the correct tool; pg/mysql introspection already yields `Date`.
157
+ */
158
+ export function blueprintIntentToTs(type) {
159
+ switch (type) {
160
+ case 'boolean': return 'boolean';
161
+ case 'json':
162
+ case 'jsonb': return 'unknown';
163
+ default: return null;
164
+ }
165
+ }
166
+ /**
167
+ * Resolve one column's TS type — `cast > blueprint intent > storage mapping` —
168
+ * and widen nullable columns with `| null`. The primary key and NOT NULL
140
169
  * columns stay non-null. `typeToTs` is the per-dialect storage mapper
141
- * ({@link sqliteTypeToTs} by default; {@link pgTypeToTs} for Postgres).
170
+ * ({@link sqliteTypeToTs} by default; {@link pgTypeToTs} for Postgres);
171
+ * `intent` is the column's blueprint-declared type when the migration replay
172
+ * recovered one (see `intent-replay.ts`).
142
173
  */
143
- export function resolveColumnType(col, casts, typeToTs = sqliteTypeToTs) {
174
+ export function resolveColumnType(col, casts, typeToTs = sqliteTypeToTs, intent) {
144
175
  const declaredCast = casts[col.name];
145
- const base = (declaredCast && castToTs(declaredCast)) || typeToTs(col.type);
176
+ const intentType = intent?.get(col.name);
177
+ const base = (declaredCast && castToTs(declaredCast)) ||
178
+ (intentType && blueprintIntentToTs(intentType)) ||
179
+ typeToTs(col.type);
146
180
  // A column is nullable on read when it permits NULL and isn't the PK.
147
181
  const nullable = !col.notNull && col.pk === 0;
148
182
  return { name: col.name, ts: nullable ? `${base} | null` : base };
149
183
  }
150
- /** Build one table's {@link TableTypes} from its columns + casts, using the
151
- * given per-dialect storage mapper (defaults to the SQLite mapping). */
152
- export function buildTableTypes(table, columns, casts = {}, typeToTs = sqliteTypeToTs) {
153
- return { table, columns: columns.map((c) => resolveColumnType(c, casts, typeToTs)) };
184
+ /** Build one table's {@link TableTypes} from its columns + casts + blueprint
185
+ * intent, using the given per-dialect storage mapper (defaults to SQLite). */
186
+ export function buildTableTypes(table, columns, casts = {}, typeToTs = sqliteTypeToTs, intent) {
187
+ return { table, columns: columns.map((c) => resolveColumnType(c, casts, typeToTs, intent)) };
154
188
  }
155
189
  /**
156
190
  * Emit the full `registry.d.ts` contents: a `declare module '@rudderjs/orm'`
@@ -1 +1 @@
1
- {"version":3,"file":"types-generator.js","sourceRoot":"","sources":["../../../src/native/schema/types-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types-generator.js","sourceRoot":"","sources":["../../../src/native/schema/types-generator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rudderjs/database",
3
- "version": "1.3.1",
3
+ "version": "1.4.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",