@rudderjs/orm-drizzle 1.1.0 → 1.3.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.
package/dist/index.d.ts CHANGED
@@ -37,6 +37,10 @@ export declare class DrizzleAdapter implements OrmAdapter {
37
37
  private constructor();
38
38
  static make(config: DrizzleConfig): Promise<DrizzleAdapter>;
39
39
  query<T>(table: string): QueryBuilder<T>;
40
+ /** @internal — resolve a table by name across both the constructor-provided
41
+ * `tables` map and the global `DrizzleTableRegistry`. Returns `undefined`
42
+ * when unknown so callers can throw a relation-aware error. */
43
+ resolveTable(name: string): unknown;
40
44
  connect(): Promise<void>;
41
45
  disconnect(): Promise<void>;
42
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { eq, ne, gt, gte, lt, lte, like, inArray, notInArray, isNull, isNotNull, and, or, asc, desc, count as sqlCount, sql, } from 'drizzle-orm';
1
+ import { eq, ne, gt, gte, lt, lte, like, inArray, notInArray, isNull, isNotNull, and, or, asc, desc, count as sqlCount, sql, exists, notExists, getTableColumns, } from 'drizzle-orm';
2
2
  // ─── Global Table Registry ─────────────────────────────────
3
3
  export class DrizzleTableRegistry {
4
4
  static tables = new Map();
@@ -9,11 +9,22 @@ export class DrizzleTableRegistry {
9
9
  return this.tables.get(name);
10
10
  }
11
11
  }
12
+ /** @internal — combine SQL exprs with AND. Single-element returns as-is so
13
+ * callers don't pay an extra wrap. Empty input returns a tautology so
14
+ * EXISTS subqueries with no inner predicate stay valid. */
15
+ function _andSql(exprs) {
16
+ if (exprs.length === 0)
17
+ return sql `1 = 1`;
18
+ if (exprs.length === 1)
19
+ return exprs[0];
20
+ return and(...exprs);
21
+ }
12
22
  // ─── Drizzle Query Builder ─────────────────────────────────
13
23
  class DrizzleQueryBuilder {
14
24
  db;
15
25
  table;
16
26
  primaryKey;
27
+ resolveTable;
17
28
  _wheres = [];
18
29
  _orWheres = [];
19
30
  _orders = [];
@@ -22,10 +33,34 @@ class DrizzleQueryBuilder {
22
33
  _withTrashed = false;
23
34
  _onlyTrashed = false;
24
35
  _softDeletes = false;
25
- constructor(db, table, primaryKey) {
36
+ /** Extra SQL expressions AND-merged into buildConditions(). Populated by
37
+ * whereRelationExists with `EXISTS` / `NOT EXISTS` correlated subqueries
38
+ * and by `whereGroup` with the sub-builder's combined SQL. */
39
+ _extraExprs = [];
40
+ /** OR-merged SQL expressions. Populated by `orWhereGroup` — each entry is
41
+ * added to the top-level OR list alongside flat `_orWheres`. */
42
+ _orExtraExprs = [];
43
+ /** Aggregate eager-load requests. Each becomes one correlated subselect in
44
+ * the SELECT list of the main query (run once per terminal call). */
45
+ _aggregates = [];
46
+ /** When true, terminal methods throw — sub-builders are for `where*` chaining only. */
47
+ _isSubBuilder = false;
48
+ constructor(db, table, primaryKey,
49
+ /** Resolves a table name to its drizzle table object. Required for
50
+ * whereRelationExists to build correlated subqueries against the
51
+ * related (and pivot) tables. */
52
+ resolveTable) {
26
53
  this.db = db;
27
54
  this.table = table;
28
55
  this.primaryKey = primaryKey;
56
+ this.resolveTable = resolveTable;
57
+ }
58
+ /** @internal — mark this builder as a sub-builder so terminals throw. */
59
+ _markSubBuilder() { this._isSubBuilder = true; return this; }
60
+ _assertNotSubBuilder() {
61
+ if (this._isSubBuilder) {
62
+ throw new Error('[RudderJS ORM] Sub-builder is for where* chaining only — call get() on the parent builder.');
63
+ }
29
64
  }
30
65
  where(column, operatorOrValue, value) {
31
66
  if (value === undefined) {
@@ -45,6 +80,24 @@ class DrizzleQueryBuilder {
45
80
  }
46
81
  return this;
47
82
  }
83
+ whereGroup(fn) {
84
+ const sub = new DrizzleQueryBuilder(this.db, this.table, this.primaryKey, this.resolveTable)
85
+ ._markSubBuilder();
86
+ fn(sub);
87
+ const expr = sub.buildConditions();
88
+ if (expr)
89
+ this._extraExprs.push(expr);
90
+ return this;
91
+ }
92
+ orWhereGroup(fn) {
93
+ const sub = new DrizzleQueryBuilder(this.db, this.table, this.primaryKey, this.resolveTable)
94
+ ._markSubBuilder();
95
+ fn(sub);
96
+ const expr = sub.buildConditions();
97
+ if (expr)
98
+ this._orExtraExprs.push(expr);
99
+ return this;
100
+ }
48
101
  orderBy(column, direction = 'ASC') {
49
102
  this._orders.push({ column, direction });
50
103
  return this;
@@ -57,6 +110,11 @@ class DrizzleQueryBuilder {
57
110
  // contract compatible across adapters; use Drizzle's relational query API
58
111
  // directly when you need eager loading.
59
112
  with(..._relations) { return this; }
113
+ // No-op at the adapter level — pivot column projection is handled in the
114
+ // ORM's deferred-QB closure (see `_belongsToManyDeferredQb` and morph
115
+ // siblings). Apps calling `Model.query().withPivot(...)` outside a pivot
116
+ // relation get a silent no-op.
117
+ withPivot(..._columns) { return this; }
60
118
  withTrashed() { this._withTrashed = true; return this; }
61
119
  onlyTrashed() { this._onlyTrashed = true; return this; }
62
120
  /** @internal — called by Model to enable automatic soft delete filtering */
@@ -64,8 +122,18 @@ class DrizzleQueryBuilder {
64
122
  col(column) {
65
123
  return this.table[column];
66
124
  }
125
+ /** @internal — resolve a column on an arbitrary table; shared with the
126
+ * whereRelationExists subquery builder. */
127
+ colOf(table, column) {
128
+ return table[column];
129
+ }
67
130
  clauseToExpr(clause) {
68
- const col = this.col(clause.column);
131
+ return this.clauseToExprOn(this.table, clause);
132
+ }
133
+ /** Same shape as clauseToExpr but parameterised by the column owner —
134
+ * used to AND constraint clauses into a whereHas inner subquery. */
135
+ clauseToExprOn(table, clause) {
136
+ const col = this.colOf(table, clause.column);
69
137
  switch (clause.operator) {
70
138
  case '=': return eq(col, clause.value);
71
139
  case '!=': return ne(col, clause.value);
@@ -82,6 +150,194 @@ class DrizzleQueryBuilder {
82
150
  }
83
151
  }
84
152
  }
153
+ whereRelationExists(p) {
154
+ const Related = this.resolveTable(p.relatedTable);
155
+ if (!Related) {
156
+ throw new Error(`[RudderJS ORM Drizzle] whereRelationExists: no table schema registered for "${p.relatedTable}". ` +
157
+ `Pass tables: { ${p.relatedTable}: ... } in drizzle() config.`);
158
+ }
159
+ const parentCol = this.col(p.parentColumn);
160
+ if (p.through) {
161
+ // Pivot path — two-step EXISTS:
162
+ // EXISTS (
163
+ // SELECT 1 FROM pivot
164
+ // WHERE pivot.foreignPivotKey = parent.parentColumn
165
+ // AND <extraEquals>
166
+ // AND EXISTS (
167
+ // SELECT 1 FROM related
168
+ // WHERE related.relatedColumn = pivot.relatedPivotKey
169
+ // AND <constraintWheres>
170
+ // )
171
+ // )
172
+ const Pivot = this.resolveTable(p.through.pivotTable);
173
+ if (!Pivot) {
174
+ throw new Error(`[RudderJS ORM Drizzle] whereRelationExists: no table schema registered for pivot "${p.through.pivotTable}".`);
175
+ }
176
+ const pivotForeignCol = this.colOf(Pivot, p.through.foreignPivotKey);
177
+ const pivotRelatedCol = this.colOf(Pivot, p.through.relatedPivotKey);
178
+ const relatedRelCol = this.colOf(Related, p.relatedColumn);
179
+ const innerExprs = [eq(relatedRelCol, pivotRelatedCol)];
180
+ for (const w of p.constraintWheres)
181
+ innerExprs.push(this.clauseToExprOn(Related, w));
182
+ const innerSelect = this.db.select().from(Related).where(_andSql(innerExprs));
183
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
184
+ const pivotExprs = [eq(pivotForeignCol, parentCol), exists(innerSelect)];
185
+ for (const [k, v] of Object.entries(p.extraEquals ?? {})) {
186
+ pivotExprs.push(eq(this.colOf(Pivot, k), v));
187
+ }
188
+ const pivotSelect = this.db.select().from(Pivot).where(_andSql(pivotExprs));
189
+ // Cast through `unknown` to side-step the local DrizzleQB type — the
190
+ // real drizzle select implements SQLWrapper, but our stripped interface
191
+ // doesn't expose `getSQL`. exists()/notExists() runtime accepts it.
192
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
193
+ this._extraExprs.push((p.exists ? exists(pivotSelect) : notExists(pivotSelect)));
194
+ return this;
195
+ }
196
+ // Direct path — single correlated EXISTS.
197
+ const relatedRelCol = this.colOf(Related, p.relatedColumn);
198
+ const exprs = [eq(relatedRelCol, parentCol)];
199
+ for (const w of p.constraintWheres)
200
+ exprs.push(this.clauseToExprOn(Related, w));
201
+ for (const [k, v] of Object.entries(p.extraEquals ?? {})) {
202
+ exprs.push(eq(this.colOf(Related, k), v));
203
+ }
204
+ const inner = this.db.select().from(Related).where(_andSql(exprs));
205
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
206
+ this._extraExprs.push((p.exists ? exists(inner) : notExists(inner)));
207
+ return this;
208
+ }
209
+ // withConstrained intentionally not implemented yet — Drizzle's relational
210
+ // query API has its own `with(..., { where })` shape we don't currently
211
+ // surface. `withWhereHas` falls back to plain `with()` until we wire it up.
212
+ withAggregate(requests) {
213
+ this._aggregates.push(...requests);
214
+ return this;
215
+ }
216
+ async _aggregate(fn, column) {
217
+ this._assertNotSubBuilder();
218
+ const cond = this.buildConditions();
219
+ const valueExpr = (() => {
220
+ switch (fn) {
221
+ case 'count':
222
+ return sql `COUNT(*)`;
223
+ case 'exists':
224
+ return sql `COUNT(*)`;
225
+ case 'sum':
226
+ return sql `COALESCE(SUM(${this.col(column)}), 0)`;
227
+ case 'min':
228
+ return sql `MIN(${this.col(column)})`;
229
+ case 'max':
230
+ return sql `MAX(${this.col(column)})`;
231
+ case 'avg':
232
+ return sql `AVG(${this.col(column)})`;
233
+ }
234
+ })();
235
+ let q = this.db.select({ value: valueExpr }).from(this.table);
236
+ if (cond)
237
+ q = q.where(cond);
238
+ const result = await q;
239
+ const raw = result[0]?.value;
240
+ if (fn === 'count')
241
+ return Number(raw ?? 0);
242
+ if (fn === 'exists')
243
+ return Number(raw ?? 0) > 0;
244
+ if (raw === null || raw === undefined) {
245
+ return fn === 'sum' ? 0 : null;
246
+ }
247
+ return Number(raw);
248
+ }
249
+ /** @internal — build a correlated subselect SQL fragment for one
250
+ * AggregateRequest. Used by `buildAggregateSelectFields`. */
251
+ _aggregateSubquery(req) {
252
+ const js = req.joinShape;
253
+ const Related = this.resolveTable(js.relatedTable);
254
+ if (!Related) {
255
+ throw new Error(`[RudderJS ORM Drizzle] withAggregate: no table schema registered for "${js.relatedTable}". ` +
256
+ `Pass tables: { ${js.relatedTable}: ... } in drizzle() config.`);
257
+ }
258
+ const parentCol = this.col(js.parentColumn);
259
+ if (js.through) {
260
+ const Pivot = this.resolveTable(js.through.pivotTable);
261
+ if (!Pivot) {
262
+ throw new Error(`[RudderJS ORM Drizzle] withAggregate: no table schema registered for pivot "${js.through.pivotTable}".`);
263
+ }
264
+ const pivotForeignCol = this.colOf(Pivot, js.through.foreignPivotKey);
265
+ const pivotRelatedCol = this.colOf(Pivot, js.through.relatedPivotKey);
266
+ const relatedKeyCol = this.colOf(Related, js.relatedColumn);
267
+ const needJoin = req.fn === 'sum' || req.fn === 'min' || req.fn === 'max' || req.fn === 'avg'
268
+ || req.constraintWheres.length > 0
269
+ || js.softDeletes === true;
270
+ const exprs = [eq(pivotForeignCol, parentCol)];
271
+ for (const [k, v] of Object.entries(js.extraEquals ?? {})) {
272
+ exprs.push(eq(this.colOf(Pivot, k), v));
273
+ }
274
+ const fnExpr = this._aggregateFnExpr(req, Related);
275
+ if (!needJoin) {
276
+ // Simple count(*) over pivot rows for this parent.
277
+ const subq = sql `(SELECT ${fnExpr} FROM ${Pivot} WHERE ${_andSql(exprs)})`;
278
+ return req.fn === 'exists' ? sql `(${subq} > 0)` : subq;
279
+ }
280
+ // Join pivot → related so we can apply soft-delete + constraints +
281
+ // numeric aggregates over a related column.
282
+ for (const w of req.constraintWheres)
283
+ exprs.push(this.clauseToExprOn(Related, w));
284
+ if (js.softDeletes) {
285
+ const da = this.colOf(Related, 'deletedAt');
286
+ if (da)
287
+ exprs.push(isNull(da));
288
+ }
289
+ const subq = sql `(SELECT ${fnExpr} FROM ${Pivot} INNER JOIN ${Related} ON ${relatedKeyCol} = ${pivotRelatedCol} WHERE ${_andSql(exprs)})`;
290
+ return req.fn === 'exists' ? sql `(${subq} > 0)` : subq;
291
+ }
292
+ // Direct (no pivot): single subselect on the related table.
293
+ const relatedRelCol = this.colOf(Related, js.relatedColumn);
294
+ const exprs = [eq(relatedRelCol, parentCol)];
295
+ for (const w of req.constraintWheres)
296
+ exprs.push(this.clauseToExprOn(Related, w));
297
+ for (const [k, v] of Object.entries(js.extraEquals ?? {})) {
298
+ exprs.push(eq(this.colOf(Related, k), v));
299
+ }
300
+ if (js.softDeletes) {
301
+ const da = this.colOf(Related, 'deletedAt');
302
+ if (da)
303
+ exprs.push(isNull(da));
304
+ }
305
+ const fnExpr = this._aggregateFnExpr(req, Related);
306
+ const subq = sql `(SELECT ${fnExpr} FROM ${Related} WHERE ${_andSql(exprs)})`;
307
+ return req.fn === 'exists' ? sql `(${subq} > 0)` : subq;
308
+ }
309
+ /** @internal — `COUNT(*)` / `SUM(col)` / etc. SQL fragment, plus the
310
+ * COALESCE wrapping that keeps null-sum from leaking out of an empty
311
+ * matching set. */
312
+ _aggregateFnExpr(req, Related) {
313
+ switch (req.fn) {
314
+ case 'count':
315
+ case 'exists':
316
+ return sql `COUNT(*)`;
317
+ case 'sum':
318
+ return sql `COALESCE(SUM(${this.colOf(Related, req.column)}), 0)`;
319
+ case 'min':
320
+ return sql `MIN(${this.colOf(Related, req.column)})`;
321
+ case 'max':
322
+ return sql `MAX(${this.colOf(Related, req.column)})`;
323
+ case 'avg':
324
+ return sql `AVG(${this.colOf(Related, req.column)})`;
325
+ }
326
+ }
327
+ /** @internal — returns the SELECT-list fields object when aggregates are
328
+ * present, or `null` to signal "default *-select." Mixing the two forms
329
+ * is what lets `db.select(<fields>)` inject named aggregate columns
330
+ * alongside the original table columns. */
331
+ buildAggregateSelectFields() {
332
+ if (this._aggregates.length === 0)
333
+ return null;
334
+ const cols = getTableColumns(this.table);
335
+ const fields = { ...cols };
336
+ for (const req of this._aggregates) {
337
+ fields[req.alias] = this._aggregateSubquery(req);
338
+ }
339
+ return fields;
340
+ }
85
341
  softDeleteExpr() {
86
342
  if (!this._softDeletes || this._withTrashed)
87
343
  return undefined;
@@ -97,6 +353,13 @@ class DrizzleQueryBuilder {
97
353
  const softExpr = this.softDeleteExpr();
98
354
  if (softExpr)
99
355
  andExprs.push(softExpr);
356
+ // EXISTS / NOT EXISTS subqueries from whereRelationExists + AND-rooted
357
+ // whereGroup blocks.
358
+ for (const e of this._extraExprs)
359
+ andExprs.push(e);
360
+ // OR-rooted whereGroup blocks join the flat orWhere list.
361
+ for (const e of this._orExtraExprs)
362
+ orExprs.push(e);
100
363
  const hasAnd = andExprs.length > 0;
101
364
  const hasOr = orExprs.length > 0;
102
365
  if (!hasAnd && !hasOr)
@@ -118,9 +381,11 @@ class DrizzleQueryBuilder {
118
381
  });
119
382
  }
120
383
  async first() {
384
+ this._assertNotSubBuilder();
121
385
  const cond = this.buildConditions();
122
386
  const orderBy = this.buildOrderBy();
123
- let q = this.db.select().from(this.table);
387
+ const fields = this.buildAggregateSelectFields();
388
+ let q = fields ? this.db.select(fields).from(this.table) : this.db.select().from(this.table);
124
389
  if (cond)
125
390
  q = q.where(cond);
126
391
  if (orderBy.length)
@@ -130,21 +395,24 @@ class DrizzleQueryBuilder {
130
395
  return result[0] ?? null;
131
396
  }
132
397
  async find(id) {
398
+ this._assertNotSubBuilder();
133
399
  const pkCol = this.col(this.primaryKey);
134
400
  const softExpr = this.softDeleteExpr();
135
401
  const pkExpr = eq(pkCol, id);
136
402
  const cond = softExpr ? and(pkExpr, softExpr) : pkExpr;
137
- const result = await this.db
138
- .select()
139
- .from(this.table)
403
+ const fields = this.buildAggregateSelectFields();
404
+ const sel = fields ? this.db.select(fields).from(this.table) : this.db.select().from(this.table);
405
+ const result = await sel
140
406
  .where(cond)
141
407
  .limit(1);
142
408
  return result[0] ?? null;
143
409
  }
144
410
  async get() {
411
+ this._assertNotSubBuilder();
145
412
  const cond = this.buildConditions();
146
413
  const orderBy = this.buildOrderBy();
147
- let q = this.db.select().from(this.table);
414
+ const fields = this.buildAggregateSelectFields();
415
+ let q = fields ? this.db.select(fields).from(this.table) : this.db.select().from(this.table);
148
416
  if (cond)
149
417
  q = q.where(cond);
150
418
  if (orderBy.length)
@@ -159,6 +427,7 @@ class DrizzleQueryBuilder {
159
427
  return this.get();
160
428
  }
161
429
  async count() {
430
+ this._assertNotSubBuilder();
162
431
  const cond = this.buildConditions();
163
432
  let q = this.db.select({ value: sqlCount() }).from(this.table);
164
433
  if (cond)
@@ -167,6 +436,7 @@ class DrizzleQueryBuilder {
167
436
  return Number(result[0]?.value ?? 0);
168
437
  }
169
438
  async create(data) {
439
+ this._assertNotSubBuilder();
170
440
  const result = await this.db
171
441
  .insert(this.table)
172
442
  .values(data)
@@ -176,6 +446,7 @@ class DrizzleQueryBuilder {
176
446
  return result[0];
177
447
  }
178
448
  async update(id, data) {
449
+ this._assertNotSubBuilder();
179
450
  const pkCol = this.col(this.primaryKey);
180
451
  const result = await this.db
181
452
  .update(this.table)
@@ -187,6 +458,7 @@ class DrizzleQueryBuilder {
187
458
  return result[0];
188
459
  }
189
460
  async delete(id) {
461
+ this._assertNotSubBuilder();
190
462
  const pkCol = this.col(this.primaryKey);
191
463
  if (this._softDeletes) {
192
464
  await this.db.update(this.table).set({ deletedAt: new Date() }).where(eq(pkCol, id));
@@ -197,6 +469,7 @@ class DrizzleQueryBuilder {
197
469
  .where(eq(pkCol, id));
198
470
  }
199
471
  async restore(id) {
472
+ this._assertNotSubBuilder();
200
473
  const pkCol = this.col(this.primaryKey);
201
474
  const result = await this.db
202
475
  .update(this.table)
@@ -206,17 +479,20 @@ class DrizzleQueryBuilder {
206
479
  return result[0];
207
480
  }
208
481
  async forceDelete(id) {
482
+ this._assertNotSubBuilder();
209
483
  const pkCol = this.col(this.primaryKey);
210
484
  await this.db
211
485
  .delete(this.table)
212
486
  .where(eq(pkCol, id));
213
487
  }
214
488
  async insertMany(rows) {
489
+ this._assertNotSubBuilder();
215
490
  if (rows.length === 0)
216
491
  return;
217
492
  await this.db.insert(this.table).values(rows);
218
493
  }
219
494
  async deleteAll() {
495
+ this._assertNotSubBuilder();
220
496
  const cond = this.buildConditions();
221
497
  let q = this.db.delete(this.table);
222
498
  if (cond)
@@ -229,7 +505,18 @@ class DrizzleQueryBuilder {
229
505
  const result = await (q.returning?.() ?? q);
230
506
  return Array.isArray(result) ? result.length : 0;
231
507
  }
508
+ async updateAll(data) {
509
+ const cond = this.buildConditions();
510
+ let q = this.db.update(this.table).set(data);
511
+ if (cond)
512
+ q = q.where(cond);
513
+ // Same .returning() rationale as deleteAll — count via returning where the
514
+ // driver supports it (Postgres/SQLite). MySQL returns zero.
515
+ const result = await (q.returning?.() ?? q);
516
+ return Array.isArray(result) ? result.length : 0;
517
+ }
232
518
  async increment(id, column, amount = 1, extra = {}) {
519
+ this._assertNotSubBuilder();
233
520
  const pkCol = this.col(this.primaryKey);
234
521
  const col = this.col(column);
235
522
  const result = await this.db
@@ -242,6 +529,7 @@ class DrizzleQueryBuilder {
242
529
  return result[0];
243
530
  }
244
531
  async decrement(id, column, amount = 1, extra = {}) {
532
+ this._assertNotSubBuilder();
245
533
  const pkCol = this.col(this.primaryKey);
246
534
  const col = this.col(column);
247
535
  const result = await this.db
@@ -254,9 +542,11 @@ class DrizzleQueryBuilder {
254
542
  return result[0];
255
543
  }
256
544
  async paginate(page = 1, perPage = 15) {
545
+ this._assertNotSubBuilder();
257
546
  const cond = this.buildConditions();
258
547
  const orderBy = this.buildOrderBy();
259
- let pageQ = this.db.select().from(this.table);
548
+ const fields = this.buildAggregateSelectFields();
549
+ let pageQ = fields ? this.db.select(fields).from(this.table) : this.db.select().from(this.table);
260
550
  let cntQ = this.db.select({ value: sqlCount() }).from(this.table);
261
551
  if (cond) {
262
552
  pageQ = pageQ.where(cond);
@@ -328,7 +618,13 @@ export class DrizzleAdapter {
328
618
  `Pass tables: { ${table}: myTable } in drizzle() config or call ` +
329
619
  `DrizzleTableRegistry.register("${table}", myTable).`);
330
620
  }
331
- return new DrizzleQueryBuilder(this.db, schema, this.primaryKey);
621
+ return new DrizzleQueryBuilder(this.db, schema, this.primaryKey, (name) => this.resolveTable(name));
622
+ }
623
+ /** @internal — resolve a table by name across both the constructor-provided
624
+ * `tables` map and the global `DrizzleTableRegistry`. Returns `undefined`
625
+ * when unknown so callers can throw a relation-aware error. */
626
+ resolveTable(name) {
627
+ return this.tables[name] ?? DrizzleTableRegistry.get(name);
332
628
  }
333
629
  async connect() {
334
630
  // Drizzle connects lazily on first query — no-op
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rudderjs/orm-drizzle",
3
- "version": "1.1.0",
3
+ "version": "1.3.0",
4
4
  "description": "Drizzle ORM adapter for RudderJS. Implements OrmAdapterProvider / OrmAdapter / QueryBuilder<T> using Drizzle's SQL-like fluent API.",
5
5
  "rudderjs": {
6
6
  "provider": "DatabaseProvider",
@@ -28,9 +28,9 @@
28
28
  },
29
29
  "dependencies": {
30
30
  "drizzle-orm": "^0.38.0",
31
- "@rudderjs/contracts": "^1.1.1",
32
- "@rudderjs/core": "^1.0.1",
33
- "@rudderjs/orm": "^1.4.0"
31
+ "@rudderjs/contracts": "^1.3.0",
32
+ "@rudderjs/core": "^1.1.2",
33
+ "@rudderjs/orm": "^1.8.0"
34
34
  },
35
35
  "optionalDependencies": {
36
36
  "better-sqlite3": "^12.0.0",