@rudderjs/database 1.1.0 → 1.2.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.
Files changed (126) hide show
  1. package/README.md +70 -0
  2. package/dist/db.d.ts +21 -3
  3. package/dist/db.d.ts.map +1 -1
  4. package/dist/db.js +27 -5
  5. package/dist/db.js.map +1 -1
  6. package/dist/index.d.ts +14 -2
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +23 -4
  9. package/dist/index.js.map +1 -1
  10. package/dist/native/adapter.d.ts +202 -0
  11. package/dist/native/adapter.d.ts.map +1 -0
  12. package/dist/native/adapter.js +440 -0
  13. package/dist/native/adapter.js.map +1 -0
  14. package/dist/native/compiler.d.ts +371 -0
  15. package/dist/native/compiler.d.ts.map +1 -0
  16. package/dist/native/compiler.js +978 -0
  17. package/dist/native/compiler.js.map +1 -0
  18. package/dist/native/dialect-mysql.d.ts +26 -0
  19. package/dist/native/dialect-mysql.d.ts.map +1 -0
  20. package/dist/native/dialect-mysql.js +188 -0
  21. package/dist/native/dialect-mysql.js.map +1 -0
  22. package/dist/native/dialect-pg.d.ts +26 -0
  23. package/dist/native/dialect-pg.d.ts.map +1 -0
  24. package/dist/native/dialect-pg.js +192 -0
  25. package/dist/native/dialect-pg.js.map +1 -0
  26. package/dist/native/dialect.d.ts +255 -0
  27. package/dist/native/dialect.d.ts.map +1 -0
  28. package/dist/native/dialect.js +237 -0
  29. package/dist/native/dialect.js.map +1 -0
  30. package/dist/native/driver.d.ts +37 -0
  31. package/dist/native/driver.d.ts.map +1 -0
  32. package/dist/native/driver.js +19 -0
  33. package/dist/native/driver.js.map +1 -0
  34. package/dist/native/drivers/better-sqlite3.d.ts +56 -0
  35. package/dist/native/drivers/better-sqlite3.d.ts.map +1 -0
  36. package/dist/native/drivers/better-sqlite3.js +171 -0
  37. package/dist/native/drivers/better-sqlite3.js.map +1 -0
  38. package/dist/native/drivers/mysql.d.ts +30 -0
  39. package/dist/native/drivers/mysql.d.ts.map +1 -0
  40. package/dist/native/drivers/mysql.js +176 -0
  41. package/dist/native/drivers/mysql.js.map +1 -0
  42. package/dist/native/drivers/postgres.d.ts +57 -0
  43. package/dist/native/drivers/postgres.d.ts.map +1 -0
  44. package/dist/native/drivers/postgres.js +155 -0
  45. package/dist/native/drivers/postgres.js.map +1 -0
  46. package/dist/native/errors.d.ts +43 -0
  47. package/dist/native/errors.d.ts.map +1 -0
  48. package/dist/native/errors.js +64 -0
  49. package/dist/native/errors.js.map +1 -0
  50. package/dist/native/index.d.ts +27 -0
  51. package/dist/native/index.d.ts.map +1 -0
  52. package/dist/native/index.js +55 -0
  53. package/dist/native/index.js.map +1 -0
  54. package/dist/native/isolation.d.ts +14 -0
  55. package/dist/native/isolation.d.ts.map +1 -0
  56. package/dist/native/isolation.js +37 -0
  57. package/dist/native/isolation.js.map +1 -0
  58. package/dist/native/query-builder.d.ts +303 -0
  59. package/dist/native/query-builder.d.ts.map +1 -0
  60. package/dist/native/query-builder.js +984 -0
  61. package/dist/native/query-builder.js.map +1 -0
  62. package/dist/native/replica-picker.d.ts +22 -0
  63. package/dist/native/replica-picker.d.ts.map +1 -0
  64. package/dist/native/replica-picker.js +65 -0
  65. package/dist/native/replica-picker.js.map +1 -0
  66. package/dist/native/schema/alter-blueprint.d.ts +37 -0
  67. package/dist/native/schema/alter-blueprint.d.ts.map +1 -0
  68. package/dist/native/schema/alter-blueprint.js +56 -0
  69. package/dist/native/schema/alter-blueprint.js.map +1 -0
  70. package/dist/native/schema/blueprint.d.ts +151 -0
  71. package/dist/native/schema/blueprint.d.ts.map +1 -0
  72. package/dist/native/schema/blueprint.js +286 -0
  73. package/dist/native/schema/blueprint.js.map +1 -0
  74. package/dist/native/schema/column.d.ts +168 -0
  75. package/dist/native/schema/column.d.ts.map +1 -0
  76. package/dist/native/schema/column.js +190 -0
  77. package/dist/native/schema/column.js.map +1 -0
  78. package/dist/native/schema/ddl-compiler.d.ts +34 -0
  79. package/dist/native/schema/ddl-compiler.d.ts.map +1 -0
  80. package/dist/native/schema/ddl-compiler.js +352 -0
  81. package/dist/native/schema/ddl-compiler.js.map +1 -0
  82. package/dist/native/schema/inspect.d.ts +67 -0
  83. package/dist/native/schema/inspect.d.ts.map +1 -0
  84. package/dist/native/schema/inspect.js +312 -0
  85. package/dist/native/schema/inspect.js.map +1 -0
  86. package/dist/native/schema/introspect.d.ts +34 -0
  87. package/dist/native/schema/introspect.d.ts.map +1 -0
  88. package/dist/native/schema/introspect.js +101 -0
  89. package/dist/native/schema/introspect.js.map +1 -0
  90. package/dist/native/schema/migration.d.ts +8 -0
  91. package/dist/native/schema/migration.d.ts.map +1 -0
  92. package/dist/native/schema/migration.js +19 -0
  93. package/dist/native/schema/migration.js.map +1 -0
  94. package/dist/native/schema/migrator.d.ts +144 -0
  95. package/dist/native/schema/migrator.d.ts.map +1 -0
  96. package/dist/native/schema/migrator.js +239 -0
  97. package/dist/native/schema/migrator.js.map +1 -0
  98. package/dist/native/schema/rebuild.d.ts +11 -0
  99. package/dist/native/schema/rebuild.d.ts.map +1 -0
  100. package/dist/native/schema/rebuild.js +92 -0
  101. package/dist/native/schema/rebuild.js.map +1 -0
  102. package/dist/native/schema/schema-builder.d.ts +46 -0
  103. package/dist/native/schema/schema-builder.d.ts.map +1 -0
  104. package/dist/native/schema/schema-builder.js +153 -0
  105. package/dist/native/schema/schema-builder.js.map +1 -0
  106. package/dist/native/schema/schema-facade.d.ts +63 -0
  107. package/dist/native/schema/schema-facade.d.ts.map +1 -0
  108. package/dist/native/schema/schema-facade.js +124 -0
  109. package/dist/native/schema/schema-facade.js.map +1 -0
  110. package/dist/native/schema/schema-types.d.ts +27 -0
  111. package/dist/native/schema/schema-types.d.ts.map +1 -0
  112. package/dist/native/schema/schema-types.js +52 -0
  113. package/dist/native/schema/schema-types.js.map +1 -0
  114. package/dist/native/schema/types-generator.d.ts +73 -0
  115. package/dist/native/schema/types-generator.d.ts.map +1 -0
  116. package/dist/native/schema/types-generator.js +181 -0
  117. package/dist/native/schema/types-generator.js.map +1 -0
  118. package/dist/registry-bridge.d.ts +24 -4
  119. package/dist/registry-bridge.d.ts.map +1 -1
  120. package/dist/registry-bridge.js +20 -0
  121. package/dist/registry-bridge.js.map +1 -1
  122. package/dist/sticky.d.ts +22 -0
  123. package/dist/sticky.d.ts.map +1 -0
  124. package/dist/sticky.js +61 -0
  125. package/dist/sticky.js.map +1 -0
  126. package/package.json +32 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../../src/native/query-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * How reads pick a replica on a read/write-split connection.
3
+ *
4
+ * - `'round-robin'` (default) — cycle through the replicas in `read.url` order.
5
+ * - `'random'` — uniform random per query.
6
+ * - `number[]` — weighted random: one non-negative weight per replica, in
7
+ * `read.url` order. `[3, 1]` sends ~75% of reads to the first replica —
8
+ * size weights to replica capacity.
9
+ * - `(count) => index` — custom: called once per read query with the replica
10
+ * count; returns the index of the replica to serve it.
11
+ */
12
+ export type ReadReplicaPicker = 'round-robin' | 'random' | readonly number[] | ((count: number) => number);
13
+ /**
14
+ * Build the per-query index picker for `count` replicas. Weight lists are
15
+ * validated here — at adapter construction, so a bad list fails fast at boot
16
+ * (default connection) or first use (named connection), not per query. A
17
+ * custom function's return value is validated on every call instead (it can't
18
+ * be proven sound up front). `rng` returns a float in `[0, 1)` and is
19
+ * injectable for deterministic tests only.
20
+ */
21
+ export declare function makeReplicaPicker(picker: ReadReplicaPicker | undefined, count: number, rng?: () => number): () => number;
22
+ //# sourceMappingURL=replica-picker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replica-picker.d.ts","sourceRoot":"","sources":["../../src/native/replica-picker.ts"],"names":[],"mappings":"AAWA;;;;;;;;;;GAUG;AACH,MAAM,MAAM,iBAAiB,GACzB,aAAa,GACb,QAAQ,GACR,SAAS,MAAM,EAAE,GACjB,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,CAAA;AAE/B;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,iBAAiB,GAAG,SAAS,EACrC,KAAK,EAAE,MAAM,EACb,GAAG,GAAE,MAAM,MAAoB,GAC9B,MAAM,MAAM,CAgDd"}
@@ -0,0 +1,65 @@
1
+ // Read-replica selection for a read/write-split connection.
2
+ //
3
+ // The adapter builds ONE picker per split connection and calls it once per
4
+ // read terminal — after the sticky check, so a sticky hit never consumes a
5
+ // pick. Strategies: round-robin (the default and the historical behavior),
6
+ // uniform random, weighted random (one weight per replica), or a
7
+ // caller-supplied index function (the escape hatch — Drizzle's `getReplica`
8
+ // equivalent). The Drizzle adapter shares this module via the
9
+ // `@rudderjs/orm/native` re-export shim, so both engines validate and pick
10
+ // identically.
11
+ /**
12
+ * Build the per-query index picker for `count` replicas. Weight lists are
13
+ * validated here — at adapter construction, so a bad list fails fast at boot
14
+ * (default connection) or first use (named connection), not per query. A
15
+ * custom function's return value is validated on every call instead (it can't
16
+ * be proven sound up front). `rng` returns a float in `[0, 1)` and is
17
+ * injectable for deterministic tests only.
18
+ */
19
+ export function makeReplicaPicker(picker, count, rng = Math.random) {
20
+ if (picker === undefined || picker === 'round-robin') {
21
+ let rr = 0;
22
+ return () => rr++ % count;
23
+ }
24
+ if (picker === 'random') {
25
+ return () => Math.floor(rng() * count);
26
+ }
27
+ if (typeof picker === 'function') {
28
+ return () => {
29
+ const i = picker(count);
30
+ if (!Number.isInteger(i) || i < 0 || i >= count) {
31
+ throw new Error(`[RudderJS DB] Custom read picker returned ${String(i)} — ` +
32
+ `expected an integer replica index in [0, ${count - 1}].`);
33
+ }
34
+ return i;
35
+ };
36
+ }
37
+ // Weighted random. One weight per replica, validated up front.
38
+ const weights = picker;
39
+ if (weights.length !== count) {
40
+ throw new Error(`[RudderJS DB] Read picker weights list has ${weights.length} entr${weights.length === 1 ? 'y' : 'ies'} ` +
41
+ `for ${count} replica(s) — provide one weight per read.url entry.`);
42
+ }
43
+ if (weights.some((w) => typeof w !== 'number' || !Number.isFinite(w) || w < 0)) {
44
+ throw new Error('[RudderJS DB] Read picker weights must be finite numbers >= 0.');
45
+ }
46
+ const total = weights.reduce((sum, w) => sum + w, 0);
47
+ if (total <= 0) {
48
+ throw new Error('[RudderJS DB] Read picker weights must sum to more than 0.');
49
+ }
50
+ return () => {
51
+ let roll = rng() * total;
52
+ for (let i = 0; i < weights.length; i++) {
53
+ roll -= weights[i];
54
+ if (roll < 0)
55
+ return i;
56
+ }
57
+ // Floating-point edge (roll never went negative): last positive weight.
58
+ for (let i = weights.length - 1; i >= 0; i--) {
59
+ if (weights[i] > 0)
60
+ return i;
61
+ }
62
+ return 0;
63
+ };
64
+ }
65
+ //# sourceMappingURL=replica-picker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replica-picker.js","sourceRoot":"","sources":["../../src/native/replica-picker.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,EAAE;AACF,2EAA2E;AAC3E,2EAA2E;AAC3E,2EAA2E;AAC3E,iEAAiE;AACjE,4EAA4E;AAC5E,8DAA8D;AAC9D,2EAA2E;AAC3E,eAAe;AAmBf;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAqC,EACrC,KAAa,EACb,MAAoB,IAAI,CAAC,MAAM;IAE/B,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;QACrD,IAAI,EAAE,GAAG,CAAC,CAAA;QACV,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,KAAK,CAAA;IAC3B,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAA;IACxC,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;YACvB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;gBAChD,MAAM,IAAI,KAAK,CACb,6CAA6C,MAAM,CAAC,CAAC,CAAC,KAAK;oBACzD,4CAA4C,KAAK,GAAG,CAAC,IAAI,CAC5D,CAAA;YACH,CAAC;YACD,OAAO,CAAC,CAAA;QACV,CAAC,CAAA;IACH,CAAC;IAED,+DAA+D;IAC/D,MAAM,OAAO,GAAG,MAAM,CAAA;IACtB,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,8CAA8C,OAAO,CAAC,MAAM,QAAQ,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG;YACvG,OAAO,KAAK,sDAAsD,CACrE,CAAA;IACH,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC/E,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;IACnF,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IACpD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAA;IAC/E,CAAC;IACD,OAAO,GAAG,EAAE;QACV,IAAI,IAAI,GAAG,GAAG,EAAE,GAAG,KAAK,CAAA;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,IAAI,IAAI,OAAO,CAAC,CAAC,CAAE,CAAA;YACnB,IAAI,IAAI,GAAG,CAAC;gBAAE,OAAO,CAAC,CAAA;QACxB,CAAC;QACD,wEAAwE;QACxE,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,IAAI,OAAO,CAAC,CAAC,CAAE,GAAG,CAAC;gBAAE,OAAO,CAAC,CAAA;QAC/B,CAAC;QACD,OAAO,CAAC,CAAA;IACV,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { Blueprint } from './blueprint.js';
2
+ /** A `renameColumn(from, to)` intent. */
3
+ export interface RenameColumn {
4
+ from: string;
5
+ to: string;
6
+ }
7
+ export declare class AlterBlueprint extends Blueprint {
8
+ /** Columns to drop (`t.dropColumn('votes')`). */
9
+ readonly droppedColumns: string[];
10
+ /** Column renames (`t.renameColumn('from', 'to')`). */
11
+ readonly renamedColumns: RenameColumn[];
12
+ /** Indexes to drop by name (`t.dropIndex('users_email_unique')`). */
13
+ readonly droppedIndexes: string[];
14
+ /** Foreign keys to drop, by constraint name or by the column list they cover
15
+ * (`t.dropForeign('users_user_id_foreign')` / `t.dropForeign(['user_id'])`).
16
+ * SQLite can't drop an FK in place, so the alter compiler rejects these with
17
+ * a clear pointer — recorded here only so the intent surfaces a good error. */
18
+ readonly droppedForeignKeys: Array<string | string[]>;
19
+ /** Drop an existing column. */
20
+ dropColumn(...names: string[]): void;
21
+ /** Rename an existing column. */
22
+ renameColumn(from: string, to: string): void;
23
+ /** Drop an index by name. */
24
+ dropIndex(name: string): void;
25
+ /** Drop a foreign key by constraint name or by the column(s) it covers.
26
+ * Not supported in place on SQLite — the compiler throws a helpful error. */
27
+ dropForeign(target: string | string[]): void;
28
+ /**
29
+ * Reverse a {@link Blueprint.morphs} / `nullableMorphs`: drop the composite
30
+ * index, then the `{name}Type` + `{name}Id` columns. The index name defaults to
31
+ * `{table}_{name}Type_{name}Id_index` (mirrors the DDL compiler's default index
32
+ * name) — pass the same `indexName` you passed to `morphs(...)` if you overrode
33
+ * it. The compiler emits the `DROP INDEX` before the `DROP COLUMN`s.
34
+ */
35
+ dropMorphs(name: string, indexName?: string): void;
36
+ }
37
+ //# sourceMappingURL=alter-blueprint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alter-blueprint.d.ts","sourceRoot":"","sources":["../../../src/native/schema/alter-blueprint.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,yCAAyC;AACzC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,EAAI,MAAM,CAAA;CACb;AAED,qBAAa,cAAe,SAAQ,SAAS;IAC3C,iDAAiD;IACjD,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,CAAK;IACtC,uDAAuD;IACvD,QAAQ,CAAC,cAAc,EAAE,YAAY,EAAE,CAAK;IAC5C,qEAAqE;IACrE,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,CAAK;IACtC;;;oFAGgF;IAChF,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAK;IAE1D,+BAA+B;IAC/B,UAAU,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAIpC,iCAAiC;IACjC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAI5C,6BAA6B;IAC7B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI7B;kFAC8E;IAC9E,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAI5C;;;;;;OAMG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;CAInD"}
@@ -0,0 +1,56 @@
1
+ // ─── AlterBlueprint (Schema.table) ─────────────────────────
2
+ //
3
+ // PURE: records the intents of a `Schema.table('users', (t) => …)` ALTER. It
4
+ // extends {@link Blueprint} so every column factory (`t.string`, `t.integer`, …)
5
+ // and `t.index` / `t.unique` are reused verbatim — on an alter they mean "ADD
6
+ // this column / index". On top of that it records the alter-only operations:
7
+ // drop column, rename column, drop index.
8
+ //
9
+ // SQLite supports ADD COLUMN, RENAME COLUMN, DROP COLUMN, and table RENAME
10
+ // natively (modern SQLite, which better-sqlite3 ships); the DDL compiler emits
11
+ // those directly. Changing an existing column (`t.string('x').change()`) is a
12
+ // native `ALTER COLUMN` / `MODIFY` on pg/mysql (7.4b); on SQLite it needs the
13
+ // table-rebuild dance, routed by SchemaBuilder before the compiler runs.
14
+ import { Blueprint } from './blueprint.js';
15
+ export class AlterBlueprint extends Blueprint {
16
+ /** Columns to drop (`t.dropColumn('votes')`). */
17
+ droppedColumns = [];
18
+ /** Column renames (`t.renameColumn('from', 'to')`). */
19
+ renamedColumns = [];
20
+ /** Indexes to drop by name (`t.dropIndex('users_email_unique')`). */
21
+ droppedIndexes = [];
22
+ /** Foreign keys to drop, by constraint name or by the column list they cover
23
+ * (`t.dropForeign('users_user_id_foreign')` / `t.dropForeign(['user_id'])`).
24
+ * SQLite can't drop an FK in place, so the alter compiler rejects these with
25
+ * a clear pointer — recorded here only so the intent surfaces a good error. */
26
+ droppedForeignKeys = [];
27
+ /** Drop an existing column. */
28
+ dropColumn(...names) {
29
+ this.droppedColumns.push(...names);
30
+ }
31
+ /** Rename an existing column. */
32
+ renameColumn(from, to) {
33
+ this.renamedColumns.push({ from, to });
34
+ }
35
+ /** Drop an index by name. */
36
+ dropIndex(name) {
37
+ this.droppedIndexes.push(name);
38
+ }
39
+ /** Drop a foreign key by constraint name or by the column(s) it covers.
40
+ * Not supported in place on SQLite — the compiler throws a helpful error. */
41
+ dropForeign(target) {
42
+ this.droppedForeignKeys.push(target);
43
+ }
44
+ /**
45
+ * Reverse a {@link Blueprint.morphs} / `nullableMorphs`: drop the composite
46
+ * index, then the `{name}Type` + `{name}Id` columns. The index name defaults to
47
+ * `{table}_{name}Type_{name}Id_index` (mirrors the DDL compiler's default index
48
+ * name) — pass the same `indexName` you passed to `morphs(...)` if you overrode
49
+ * it. The compiler emits the `DROP INDEX` before the `DROP COLUMN`s.
50
+ */
51
+ dropMorphs(name, indexName) {
52
+ this.dropIndex(indexName ?? `${this.table}_${name}Type_${name}Id_index`);
53
+ this.dropColumn(`${name}Type`, `${name}Id`);
54
+ }
55
+ }
56
+ //# sourceMappingURL=alter-blueprint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alter-blueprint.js","sourceRoot":"","sources":["../../../src/native/schema/alter-blueprint.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,EAAE;AACF,6EAA6E;AAC7E,iFAAiF;AACjF,8EAA8E;AAC9E,6EAA6E;AAC7E,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,+EAA+E;AAC/E,8EAA8E;AAC9E,8EAA8E;AAC9E,yEAAyE;AAEzE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAQ1C,MAAM,OAAO,cAAe,SAAQ,SAAS;IAC3C,iDAAiD;IACxC,cAAc,GAAa,EAAE,CAAA;IACtC,uDAAuD;IAC9C,cAAc,GAAmB,EAAE,CAAA;IAC5C,qEAAqE;IAC5D,cAAc,GAAa,EAAE,CAAA;IACtC;;;oFAGgF;IACvE,kBAAkB,GAA6B,EAAE,CAAA;IAE1D,+BAA+B;IAC/B,UAAU,CAAC,GAAG,KAAe;QAC3B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAA;IACpC,CAAC;IAED,iCAAiC;IACjC,YAAY,CAAC,IAAY,EAAE,EAAU;QACnC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IACxC,CAAC;IAED,6BAA6B;IAC7B,SAAS,CAAC,IAAY;QACpB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;kFAC8E;IAC9E,WAAW,CAAC,MAAyB;QACnC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACtC,CAAC;IAED;;;;;;OAMG;IACH,UAAU,CAAC,IAAY,EAAE,SAAkB;QACzC,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,QAAQ,IAAI,UAAU,CAAC,CAAA;QACxE,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,MAAM,EAAE,GAAG,IAAI,IAAI,CAAC,CAAA;IAC7C,CAAC;CACF"}
@@ -0,0 +1,151 @@
1
+ import { ColumnBuilder, type ColumnDefinition, type ForeignKeyDefinition, type ForeignKeyActionInput } from './column.js';
2
+ /** A table-level index intent (`Blueprint.index` / `.unique` / column modifiers). */
3
+ export interface IndexDefinition {
4
+ /** Columns covered, in order. */
5
+ columns: string[];
6
+ unique: boolean;
7
+ /** Index name. Defaults to `{table}_{col[_col…]}_{index|unique}` (Laravel-style). */
8
+ name?: string;
9
+ }
10
+ /**
11
+ * Fluent builder for a table-level foreign key (`Blueprint.foreign(...)`).
12
+ * Mutates the {@link ForeignKeyDefinition} the Blueprint recorded and returns
13
+ * `this` so the constraint chains Laravel-style:
14
+ * `t.foreign('user_id').references('id').on('users').onDelete('cascade')`.
15
+ */
16
+ export declare class ForeignKeyBuilder {
17
+ private readonly fk;
18
+ constructor(fk: ForeignKeyDefinition);
19
+ /** Referenced column(s) on the foreign table (defaults to `id`). */
20
+ references(columns: string | string[]): this;
21
+ /** Referenced table. */
22
+ on(table: string): this;
23
+ onDelete(action: ForeignKeyActionInput): this;
24
+ onUpdate(action: ForeignKeyActionInput): this;
25
+ /** `onDelete('cascade')`. */
26
+ cascadeOnDelete(): this;
27
+ /** `onDelete('restrict')`. */
28
+ restrictOnDelete(): this;
29
+ /** `onDelete('set null')` — pair with nullable column(s). */
30
+ nullOnDelete(): this;
31
+ /** `onUpdate('cascade')`. */
32
+ cascadeOnUpdate(): this;
33
+ /** Override the default `{table}_{col[_col…]}_foreign` constraint name. */
34
+ name(name: string): this;
35
+ }
36
+ /**
37
+ * Records one table's shape. Mirrors Laravel's `Blueprint`: a column method
38
+ * returns a {@link ColumnBuilder} so modifiers chain; table-level helpers
39
+ * (`primary` / `unique` / `index`) record composite constraints.
40
+ */
41
+ export declare class Blueprint {
42
+ readonly table: string;
43
+ readonly columns: ColumnDefinition[];
44
+ /** Composite (or explicitly-named single) primary key. Single-column PKs set
45
+ * inline via `.primary()` live on the column instead. */
46
+ primaryColumns: string[] | null;
47
+ readonly indexes: IndexDefinition[];
48
+ /** Table-level foreign keys (`Blueprint.foreign(...)`). Column-level FKs
49
+ * (`constrained()`) live on their {@link ColumnDefinition} instead; the
50
+ * compiler collects both. */
51
+ readonly foreignKeys: ForeignKeyDefinition[];
52
+ constructor(table: string);
53
+ private add;
54
+ /** Auto-incrementing integer primary key (`id` by default). */
55
+ id(name?: string): ColumnBuilder;
56
+ /** Auto-incrementing integer primary key under an explicit name. */
57
+ increments(name: string): ColumnBuilder;
58
+ /** Alias of {@link increments} — bigint on pg/mysql, INTEGER on SQLite. */
59
+ bigIncrements(name: string): ColumnBuilder;
60
+ integer(name: string): ColumnBuilder;
61
+ bigInteger(name: string): ColumnBuilder;
62
+ /** Small integer — `smallint` (pg/mysql), `INTEGER` (sqlite). */
63
+ smallInteger(name: string): ColumnBuilder;
64
+ /** Tiny integer — `tinyint` (mysql), `smallint` (pg), `INTEGER` (sqlite). */
65
+ tinyInteger(name: string): ColumnBuilder;
66
+ /** Medium integer — `mediumint` (mysql), `integer` (pg), `INTEGER` (sqlite). */
67
+ mediumInteger(name: string): ColumnBuilder;
68
+ /** Unsigned big integer intended as a foreign key. Chain `.constrained()` (or
69
+ * `.references(...).on(...)`) to attach the FK constraint. */
70
+ foreignId(name: string): ColumnBuilder;
71
+ /**
72
+ * Laravel `foreignIdFor`: an unsigned big-integer FK column whose name is
73
+ * derived from a related table (`'users'` → `userId`) unless `column` is given.
74
+ * Chain `.constrained()` to attach the constraint. Naming follows the engine's
75
+ * camelCase convention (singularize + `Id`), a divergence from Laravel's
76
+ * `{snake}_id`.
77
+ */
78
+ foreignIdFor(related: string, column?: string): ColumnBuilder;
79
+ string(name: string, length?: number): ColumnBuilder;
80
+ /** Fixed-length `char(length)` (pg/mysql); `TEXT` on sqlite. */
81
+ char(name: string, length?: number): ColumnBuilder;
82
+ text(name: string): ColumnBuilder;
83
+ /** `mediumtext` (mysql); `text` (pg/sqlite). */
84
+ mediumText(name: string): ColumnBuilder;
85
+ /** `longtext` (mysql); `text` (pg/sqlite). */
86
+ longText(name: string): ColumnBuilder;
87
+ uuid(name?: string): ColumnBuilder;
88
+ /** 26-char ULID — `char(26)` (pg/mysql), `TEXT` (sqlite). */
89
+ ulid(name?: string): ColumnBuilder;
90
+ /** A `uuid` column intended as a foreign key — chain `.constrained()`. */
91
+ foreignUuid(name: string): ColumnBuilder;
92
+ /** A `ulid` column intended as a foreign key — chain `.constrained()`. */
93
+ foreignUlid(name: string): ColumnBuilder;
94
+ json(name: string): ColumnBuilder;
95
+ /** `jsonb` (pg) — binary JSON; falls back to `json` (mysql) / `TEXT` (sqlite). */
96
+ jsonb(name: string): ColumnBuilder;
97
+ /**
98
+ * Enumerated string column. `enum(...)` on MySQL; `varchar(255)` + a
99
+ * `CHECK (… IN (…))` constraint on pg/sqlite. Values are migration-author
100
+ * supplied — rendered as quoted literals, never bound. Throws on an empty list.
101
+ */
102
+ enum(name: string, values: string[]): ColumnBuilder;
103
+ /** MySQL `set(...)` — multiple allowed values stored as a comma list. Throws a
104
+ * clear NotImplemented on pg/sqlite (no native SET type). */
105
+ set(name: string, values: string[]): ColumnBuilder;
106
+ decimal(name: string, precision?: number, scale?: number): ColumnBuilder;
107
+ float(name: string): ColumnBuilder;
108
+ /** Double-precision float — `double precision` (pg), `double` (mysql), `REAL` (sqlite). */
109
+ double(name: string): ColumnBuilder;
110
+ boolean(name: string): ColumnBuilder;
111
+ /** Calendar date (no time) — `date` (pg/mysql), `TEXT` (sqlite). */
112
+ date(name: string): ColumnBuilder;
113
+ /** Time of day (no date). Optional fractional-seconds `precision` → `time(p)`
114
+ * on pg/mysql; `TEXT` on sqlite. */
115
+ time(name: string, precision?: number): ColumnBuilder;
116
+ dateTime(name: string): ColumnBuilder;
117
+ timestamp(name: string): ColumnBuilder;
118
+ binary(name: string): ColumnBuilder;
119
+ /** `createdAt` + `updatedAt`, nullable (Laravel parity), camelCase per engine
120
+ * convention. */
121
+ timestamps(): void;
122
+ /** `deletedAt` nullable — the column the soft-delete scope filters on. */
123
+ softDeletes(name?: string): ColumnBuilder;
124
+ /**
125
+ * Polymorphic relation columns (Laravel `morphs`): a `{name}Id` (unsigned big
126
+ * integer) + `{name}Type` (string) pair plus a composite index over both. The
127
+ * columns use the engine's **camelCase** morph convention (`commentableId` /
128
+ * `commentableType`) — the same columns `morphTo` / `morphMany` read/write —
129
+ * not Laravel's snake_case. The index covers `[{name}Type, {name}Id]` (type
130
+ * first, matching Laravel), defaulting to `{table}_{name}Type_{name}Id_index`;
131
+ * pass `indexName` to override (pair with the same name in {@link dropMorphs}).
132
+ */
133
+ morphs(name: string, indexName?: string): void;
134
+ /** Nullable variant of {@link morphs} — both columns allow NULL (the relation
135
+ * is optional). Same `[{name}Type, {name}Id]` composite index. */
136
+ nullableMorphs(name: string, indexName?: string): void;
137
+ /** Composite (or named single) primary key. */
138
+ primary(columns: string | string[]): void;
139
+ /** Composite (or single) unique index. */
140
+ unique(columns: string | string[], name?: string): void;
141
+ /** Composite (or single) non-unique index. */
142
+ index(columns: string | string[], name?: string): void;
143
+ /**
144
+ * Composite / explicit foreign key:
145
+ * `t.foreign('user_id').references('id').on('users').onDelete('cascade')`.
146
+ * Returns a {@link ForeignKeyBuilder}; the referenced column defaults to `id`.
147
+ * For the single-column shorthand, prefer `t.foreignId('user_id').constrained()`.
148
+ */
149
+ foreign(columns: string | string[]): ForeignKeyBuilder;
150
+ }
151
+ //# sourceMappingURL=blueprint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blueprint.d.ts","sourceRoot":"","sources":["../../../src/native/schema/blueprint.ts"],"names":[],"mappings":"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"}