@lyku/lockstep-pg 0.2.0 → 0.2.1

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 (45) hide show
  1. package/package.json +30 -30
  2. package/src/buildTableIndexCommand.d.ts.map +1 -1
  3. package/src/buildTableIndexCommand.js +21 -6
  4. package/src/buildTableIndexCommand.js.map +1 -1
  5. package/src/buildTableTriggerCommands.d.ts +13 -1
  6. package/src/buildTableTriggerCommands.d.ts.map +1 -1
  7. package/src/buildTableTriggerCommands.js +33 -14
  8. package/src/buildTableTriggerCommands.js.map +1 -1
  9. package/src/createTable.d.ts.map +1 -1
  10. package/src/createTable.js +16 -2
  11. package/src/createTable.js.map +1 -1
  12. package/src/dateToPostgresString.js +2 -2
  13. package/src/dateToPostgresString.js.map +1 -1
  14. package/src/diff.d.ts +7 -0
  15. package/src/diff.d.ts.map +1 -1
  16. package/src/diff.js +79 -8
  17. package/src/diff.js.map +1 -1
  18. package/src/drift.d.ts +8 -11
  19. package/src/drift.d.ts.map +1 -1
  20. package/src/drift.js +1 -298
  21. package/src/drift.js.map +1 -1
  22. package/src/form.d.ts.map +1 -1
  23. package/src/form.js +43 -2
  24. package/src/form.js.map +1 -1
  25. package/src/generateSql.d.ts.map +1 -1
  26. package/src/generateSql.js +47 -5
  27. package/src/generateSql.js.map +1 -1
  28. package/src/index.d.ts +3 -3
  29. package/src/index.d.ts.map +1 -1
  30. package/src/index.js +2 -4
  31. package/src/index.js.map +1 -1
  32. package/src/introspect.d.ts +12 -0
  33. package/src/introspect.d.ts.map +1 -1
  34. package/src/introspect.js +189 -34
  35. package/src/introspect.js.map +1 -1
  36. package/src/mapColumnType.d.ts.map +1 -1
  37. package/src/mapColumnType.js +3 -0
  38. package/src/mapColumnType.js.map +1 -1
  39. package/src/migrate.d.ts +11 -9
  40. package/src/migrate.d.ts.map +1 -1
  41. package/src/migrate.js +28 -345
  42. package/src/migrate.js.map +1 -1
  43. package/src/seed.d.ts.map +1 -1
  44. package/src/seed.js +6 -1
  45. package/src/seed.js.map +1 -1
package/src/introspect.js CHANGED
@@ -95,12 +95,58 @@ export function normalizeDbType(pgType, udtName) {
95
95
  /**
96
96
  * Extract enum values from a CHECK constraint clause
97
97
  */
98
+ /** Return the content of the first balanced parenthesised group, or null if none. */
99
+ function extractBalancedParenGroup(s) {
100
+ const start = s.indexOf('(');
101
+ if (start === -1)
102
+ return null;
103
+ let depth = 0;
104
+ for (let i = start; i < s.length; i++) {
105
+ const ch = s.charAt(i);
106
+ if (ch === '(')
107
+ depth++;
108
+ else if (ch === ')') {
109
+ depth--;
110
+ if (depth === 0)
111
+ return s.slice(start + 1, i);
112
+ }
113
+ }
114
+ return null;
115
+ }
116
+ /** Split on top-level commas (commas not nested inside parentheses). */
117
+ function splitTopLevel(s) {
118
+ const parts = [];
119
+ let depth = 0;
120
+ let cur = '';
121
+ for (const ch of s) {
122
+ if (ch === '(')
123
+ depth++;
124
+ else if (ch === ')')
125
+ depth--;
126
+ if (ch === ',' && depth === 0) {
127
+ parts.push(cur);
128
+ cur = '';
129
+ }
130
+ else {
131
+ cur += ch;
132
+ }
133
+ }
134
+ if (cur.trim())
135
+ parts.push(cur);
136
+ return parts;
137
+ }
98
138
  function extractEnumValues(checkClause) {
99
139
  // Match patterns like:
100
140
  // CHECK ((col = ANY (ARRAY['a'::text, 'b'::text])))
101
141
  // CHECK (col IN ('a', 'b', 'c'))
102
142
  // CHECK (("col" = ANY (ARRAY['a'::text, 'b'::text])))
103
- if (!checkClause.includes(' IN (') && !checkClause.includes('ANY')) {
143
+ // CHECK (("col" = 'a'::text)) -- Postgres collapses a single-value IN to equality.
144
+ // Match a true equality `= '` only — NOT comparisons like `>= '`, `<= '`, `!= '`
145
+ // (e.g. a numeric minimum `stock >= '-1'` must NOT be read as an enum).
146
+ const singleEquality = /(?:^|[^<>!])=\s*'/.test(checkClause);
147
+ if (!checkClause.includes(' IN (') &&
148
+ !checkClause.includes('ANY') &&
149
+ !singleEquality) {
104
150
  return null;
105
151
  }
106
152
  const values = [];
@@ -156,9 +202,17 @@ export async function introspectTable(client, tableName) {
156
202
  JOIN pg_attribute att ON att.attnum = ANY(con.conkey) AND att.attrelid = con.conrelid
157
203
  WHERE con.conrelid = $1::regclass
158
204
  AND con.contype = 'c'
159
- `, [`"${tableName}"`]);
205
+ `, [`public."${tableName}"`]);
160
206
  const checkConstraints = new Map();
161
207
  for (const row of checkResult.rows) {
208
+ // A column can carry multiple CHECKs (e.g. an enum IN(...) plus a length check).
209
+ // Prefer the one that yields enum values so enumValues isn't lost to last-write-wins.
210
+ const existing = checkConstraints.get(row.column_name);
211
+ if (existing &&
212
+ extractEnumValues(existing.check_clause) &&
213
+ !extractEnumValues(row.check_clause)) {
214
+ continue;
215
+ }
162
216
  checkConstraints.set(row.column_name, row);
163
217
  }
164
218
  // Build columns map
@@ -189,23 +243,35 @@ export async function introspectTable(client, tableName) {
189
243
  // Parse index definition to extract columns
190
244
  // Format: CREATE [UNIQUE] INDEX name ON table USING btree (col1, col2)
191
245
  const isUnique = row.indexdef.includes('UNIQUE');
192
- const columnsMatch = row.indexdef.match(/\(([^)]+)\)/);
246
+ // Extract the index key list as a BALANCED paren group (the first '(' to its match),
247
+ // so expression indexes like (lower(email)) aren't truncated at the inner ')'.
248
+ const colsPart = extractBalancedParenGroup(row.indexdef);
193
249
  const indexColumns = [];
194
- if (columnsMatch) {
195
- const colsPart = columnsMatch[1];
196
- // Split by comma but handle quoted identifiers
197
- const cols = colsPart.split(',').map((c) => c.trim());
198
- for (const col of cols) {
199
- // Extract just the column name (remove quotes, modifiers like DESC)
200
- const colName = col.replace(/"/g, '').split(' ')[0];
201
- indexColumns.push(colName);
250
+ if (colsPart !== null) {
251
+ for (const part of splitTopLevel(colsPart)) {
252
+ const trimmed = part.trim();
253
+ // Leading identifier (optionally quoted); the !includes('(') guard below keeps
254
+ // expression indexes out of this branch, so trailing modifiers don't matter here.
255
+ const plain = trimmed.match(/^"?([A-Za-z_][A-Za-z0-9_]*)"?/);
256
+ if (plain && !trimmed.includes('(')) {
257
+ indexColumns.push(plain[1]);
258
+ }
259
+ else {
260
+ // Expression index, e.g. lower(email) — recover the first column identifier.
261
+ const inner = trimmed.match(/\(\s*"?([A-Za-z_][A-Za-z0-9_]*)"?/);
262
+ indexColumns.push(inner ? inner[1] : trimmed.replace(/"/g, '').split(' ')[0]);
263
+ }
202
264
  }
203
265
  }
266
+ // Capture the partial-index predicate (CREATE INDEX ... (col) WHERE (...)) so the diff
267
+ // can detect partial-index drift instead of silently dropping it.
268
+ const whereMatch = row.indexdef.match(/\bWHERE\b\s+(.+)$/i);
204
269
  indexes.push({
205
270
  name: row.indexname,
206
271
  columns: indexColumns,
207
272
  unique: isUnique,
208
273
  definition: row.indexdef,
274
+ ...(whereMatch ? { where: whereMatch[1].trim() } : {}),
209
275
  });
210
276
  }
211
277
  // Get primary key
@@ -215,7 +281,7 @@ export async function introspectTable(client, tableName) {
215
281
  JOIN pg_attribute a ON a.attrelid = i.indrelid AND a.attnum = ANY(i.indkey)
216
282
  WHERE i.indrelid = $1::regclass AND i.indisprimary
217
283
  ORDER BY array_position(i.indkey, a.attnum)
218
- `, [`"${tableName}"`]);
284
+ `, [`public."${tableName}"`]);
219
285
  const primaryKey = pkResult.rows.map((r) => r.column_name);
220
286
  // Get unique constraints (excluding primary key)
221
287
  const uniqueResult = await client.query(`
@@ -225,7 +291,7 @@ export async function introspectTable(client, tableName) {
225
291
  WHERE con.conrelid = $1::regclass
226
292
  AND con.contype = 'u'
227
293
  ORDER BY con.conname, array_position(con.conkey, att.attnum)
228
- `, [`"${tableName}"`]);
294
+ `, [`public."${tableName}"`]);
229
295
  const uniqueByConstraint = new Map();
230
296
  for (const row of uniqueResult.rows) {
231
297
  const cols = uniqueByConstraint.get(row.constraint_name) ?? [];
@@ -233,6 +299,7 @@ export async function introspectTable(client, tableName) {
233
299
  uniqueByConstraint.set(row.constraint_name, cols);
234
300
  }
235
301
  const uniqueConstraints = Array.from(uniqueByConstraint.values());
302
+ const uniqueConstraintNames = Array.from(uniqueByConstraint.entries()).map(([name, columns]) => ({ name, columns }));
236
303
  // Get foreign key constraints
237
304
  const fkResult = await client.query(`
238
305
  SELECT
@@ -261,6 +328,7 @@ export async function introspectTable(client, tableName) {
261
328
  indexes,
262
329
  primaryKey,
263
330
  uniqueConstraints,
331
+ uniqueConstraintNames,
264
332
  foreignKeys,
265
333
  };
266
334
  }
@@ -291,7 +359,15 @@ export function modelToIntrospected(tableName, model) {
291
359
  const columns = new Map();
292
360
  if ('properties' in schema) {
293
361
  const required = new Set('required' in schema ? schema.required : []);
294
- for (const [colName, colSchema] of Object.entries(schema.properties)) {
362
+ // Managed (infra) columns live on the table model, not schema.properties, but are
363
+ // emitted into the DDL by buildTableCreationCommand — so the introspected model must
364
+ // include them too, else the diff sees them as extra DB columns and drops them
365
+ // (e.g. synced<T>'s `sequence`). They're nullable-with-default (never in `required`).
366
+ const managedCols = Object.entries((model.managedColumns ?? {}));
367
+ for (const [colName, colSchema] of [
368
+ ...Object.entries(schema.properties),
369
+ ...managedCols,
370
+ ]) {
295
371
  const col = colSchema;
296
372
  let type = col.type;
297
373
  let arrayItemType = null;
@@ -314,8 +390,19 @@ export function modelToIntrospected(tableName, model) {
314
390
  type = 'varchar';
315
391
  if (type === 'character' || type === 'bpchar')
316
392
  type = 'char';
317
- // Enums are stored as text
318
- const enumValues = col.type === 'enum' && col.enum ? [...col.enum] : null;
393
+ // Enums are stored as text. Text columns with an enumerating pattern
394
+ // (^(a|b|c)$ e.g. visibilityColumn) also carry their allowed values, so
395
+ // extract them too. Otherwise the diff sees the DB's real CHECK values vs the
396
+ // model's "no values" and tries to rewrite the constraint to an (invalid) empty set.
397
+ let enumValues = col.type === 'enum' && col.enum ? [...col.enum] : null;
398
+ if (enumValues === null &&
399
+ col.type === 'text' &&
400
+ 'pattern' in col &&
401
+ typeof col.pattern === 'string') {
402
+ const patternMatch = col.pattern.match(/^\^\(([^)]+)\)\$$/);
403
+ if (patternMatch)
404
+ enumValues = patternMatch[1].split('|');
405
+ }
319
406
  if (col.type === 'enum')
320
407
  type = 'text';
321
408
  if (col.type === 'array') {
@@ -342,19 +429,34 @@ export function modelToIntrospected(tableName, model) {
342
429
  }
343
430
  }
344
431
  }
432
+ // serial/bigserial carry an implicit nextval() default from their backing sequence
433
+ // (Postgres names it "<table>_<col>_seq"); model it so the round-trip doesn't try to
434
+ // drop the sequence. normalizeDefault strips the ::regclass cast on both sides.
435
+ let defaultValue = null;
436
+ if ('default' in col && col.default !== undefined) {
437
+ const d = col.default;
438
+ if (typeof d === 'object' &&
439
+ d !== null &&
440
+ 'sql' in d) {
441
+ defaultValue = d['sql'];
442
+ }
443
+ else if (typeof d === 'string') {
444
+ defaultValue = `'${d}'`;
445
+ }
446
+ else {
447
+ defaultValue = String(d);
448
+ }
449
+ }
450
+ else if (col.type === 'serial' || col.type === 'bigserial') {
451
+ const seq = `${tableName}_${colName}_seq`;
452
+ const quotedSeq = /[^a-z0-9_]/.test(seq) ? `"${seq}"` : seq;
453
+ defaultValue = `nextval('${quotedSeq}'::regclass)`;
454
+ }
345
455
  columns.set(colName, {
346
456
  name: colName,
347
457
  type,
348
458
  nullable: !required.has(colName),
349
- default: 'default' in col && col.default !== undefined
350
- ? typeof col.default === 'object' &&
351
- col.default !== null &&
352
- 'sql' in col.default
353
- ? col.default['sql']
354
- : typeof col.default === 'string'
355
- ? `'${col.default}'`
356
- : String(col.default)
357
- : null,
459
+ default: defaultValue,
358
460
  maxLength: 'maxLength' in col
359
461
  ? col.maxLength
360
462
  : 'length' in col
@@ -382,10 +484,41 @@ export function modelToIntrospected(tableName, model) {
382
484
  }
383
485
  else {
384
486
  const objIdx = idx;
385
- cols = Array.isArray(objIdx.columns)
386
- ? objIdx.columns.map((c) => c.split(' ')[0])
387
- : [objIdx.columns.split(' ')[0]];
487
+ if (objIdx.raw !== undefined) {
488
+ // Expression / functional index. The diff matches it by name; recover the
489
+ // underlying columns from the raw SQL for the columns field (best-effort).
490
+ const recovered = splitTopLevel(objIdx.raw).map((part) => {
491
+ const t = part.trim();
492
+ const plain = t.match(/^"?([A-Za-z_][A-Za-z0-9_]*)"?/);
493
+ if (plain && !t.includes('('))
494
+ return plain[1];
495
+ const inner = t.match(/\(\s*"?([A-Za-z_][A-Za-z0-9_]*)"?/);
496
+ return inner ? inner[1] : t.replace(/"/g, '').split(' ')[0];
497
+ });
498
+ indexes.push({
499
+ name: objIdx.name ?? `idx_${tableName}_expr`,
500
+ columns: recovered,
501
+ unique: false,
502
+ definition: '',
503
+ ...(objIdx.where ? { where: objIdx.where } : {}),
504
+ });
505
+ continue;
506
+ }
507
+ const rawCols = Array.isArray(objIdx.columns)
508
+ ? objIdx.columns
509
+ : [objIdx.columns];
510
+ cols = rawCols.map((c) => c.split(' ')[0]);
388
511
  name = objIdx.name ?? `idx_${tableName}_${cols.join('_')}`;
512
+ const hasModifiers = rawCols.some((c) => c.includes(' '));
513
+ indexes.push({
514
+ name,
515
+ columns: cols,
516
+ unique: false,
517
+ definition: '',
518
+ where: objIdx.where,
519
+ ...(hasModifiers ? { fullColumns: rawCols } : {}),
520
+ });
521
+ continue;
389
522
  }
390
523
  indexes.push({
391
524
  name,
@@ -401,18 +534,40 @@ export function modelToIntrospected(tableName, model) {
401
534
  ? model.primaryKey
402
535
  : [model.primaryKey]
403
536
  : [];
404
- // Unique constraints
537
+ // Unique constraints. `unique` on a table model is a SINGLE constraint: either one
538
+ // column ('a') or one composite (['a','b']). A flat string[] is ONE composite — NOT
539
+ // one unique per column (that split was the bug behind phantom mutedUsers_userId_unique
540
+ // etc.). The legacy nested form ([['a','b'], ['c']] = multiple constraints) is also accepted.
405
541
  const uniqueConstraints = [];
406
542
  if (model.unique) {
407
- for (const u of model.unique) {
408
- if (typeof u === 'string') {
409
- uniqueConstraints.push([u]);
543
+ const u = model.unique;
544
+ if (typeof u === 'string') {
545
+ uniqueConstraints.push([u]);
546
+ }
547
+ else if (Array.isArray(u)) {
548
+ if (u.every((x) => typeof x === 'string')) {
549
+ uniqueConstraints.push([...u]);
410
550
  }
411
- else if (Array.isArray(u)) {
412
- uniqueConstraints.push(u);
551
+ else {
552
+ for (const c of u) {
553
+ uniqueConstraints.push(typeof c === 'string' ? [c] : [...c]);
554
+ }
413
555
  }
414
556
  }
415
557
  }
558
+ // Column-level `unique: true` — a single-column unique declared on the property itself.
559
+ // buildTableCreationCommand emits these as an inline UNIQUE, so the model's introspected
560
+ // form must report them too, else the round-trip sees a phantom drop_unique_constraint.
561
+ const props = 'properties' in schema
562
+ ? schema.properties
563
+ : {};
564
+ for (const [colName, colSchema] of Object.entries(props)) {
565
+ if (colSchema &&
566
+ colSchema.unique === true &&
567
+ !uniqueConstraints.some((c) => c.length === 1 && c[0] === colName)) {
568
+ uniqueConstraints.push([colName]);
569
+ }
570
+ }
416
571
  // Foreign keys — model format: { columnName: { referencedTable: referencedColumn } }
417
572
  const foreignKeys = [];
418
573
  if (model.foreignKeys) {
@@ -1 +1 @@
1
- {"version":3,"file":"introspect.js","sourceRoot":"","sources":["../../../../libs/lockstep-pg/src/introspect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"introspect.js","sourceRoot":"","sources":["../../../../libs/lockstep-pg/src/introspect.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mapColumnType.d.ts","sourceRoot":"","sources":["../../../../libs/lockstep-pg/src/mapColumnType.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAO1D,wBAAgB,aAAa,CAC5B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,mBAAmB,GAC/B,MAAM,CAsDR"}
1
+ {"version":3,"file":"mapColumnType.d.ts","sourceRoot":"","sources":["../../../../libs/lockstep-pg/src/mapColumnType.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAO1D,wBAAgB,aAAa,CAC5B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,mBAAmB,GAC/B,MAAM,CAwDR"}
@@ -54,6 +54,9 @@ export function mapColumnType(name, columnSchema) {
54
54
  case 'jsonb':
55
55
  return 'JSONB';
56
56
  case 'enum':
57
+ // An empty enum would emit `CHECK (... IN ())` — invalid, non-executable DDL.
58
+ if (!columnSchema.enum || columnSchema.enum.length === 0)
59
+ return 'TEXT';
57
60
  return `TEXT CHECK ("${name}" IN (${columnSchema.enum
58
61
  .map((e) => `'${e}'`)
59
62
  .join(', ')}))`;
@@ -1 +1 @@
1
- {"version":3,"file":"mapColumnType.js","sourceRoot":"","sources":["../../../../libs/lockstep-pg/src/mapColumnType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,UAAU,aAAa,CAC5B,IAAY,EACZ,YAAiC;IAEjC,+CAA+C;IAC/C,QAAQ,YAAY,CAAC,IAAI,EAAE,CAAC;QAC3B,KAAK,kBAAkB,CAAC;QACxB,KAAK,QAAQ;YACZ,OAAO,kBAAkB,CAAC;QAC3B,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ;YACZ,OAAO,MAAM,CAAC;QACf,KAAK,MAAM;YACV,OAAO,MAAM,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,KAAK,CAAC;QACX,KAAK,MAAM;YACV,OAAO,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC3C,KAAK,MAAM,CAAC;QACZ,KAAK,UAAU;YACd,OAAO,UAAU,CAAC;QACnB,KAAK,QAAQ;YACZ,OAAO,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC1C,KAAK,WAAW;YACf,OAAO,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC7C,KAAK,WAAW;YACf,OAAO,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC7C,KAAK,QAAQ;YACZ,OAAO,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC1C,KAAK,SAAS;YACb,OAAO,SAAS,CAAC;QAClB,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ;YACZ,OAAO,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACxC,KAAK,MAAM;YACV,OAAO,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACxC,KAAK,SAAS,CAAC;QACf,KAAK,mBAAmB;YACvB,OAAO,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC3C,KAAK,WAAW;YACf,OAAO,WAAW,CAAC;QACpB,KAAK,aAAa;YACjB,OAAO,kBAAkB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC/C,KAAK,SAAS;YACb,OAAO,SAAS,CAAC;QAClB,KAAK,OAAO;YACX,OAAO,OAAO,CAAC;QAChB,KAAK,MAAM;YACV,OAAO,gBAAgB,IAAI,SAAS,YAAY,CAAC,IAAI;iBACnD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;iBACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAClB,KAAK,OAAO;YACX,OAAO,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACzC;YACC,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"mapColumnType.js","sourceRoot":"","sources":["../../../../libs/lockstep-pg/src/mapColumnType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,UAAU,aAAa,CAC5B,IAAY,EACZ,YAAiC;IAEjC,+CAA+C;IAC/C,QAAQ,YAAY,CAAC,IAAI,EAAE,CAAC;QAC3B,KAAK,kBAAkB,CAAC;QACxB,KAAK,QAAQ;YACZ,OAAO,kBAAkB,CAAC;QAC3B,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ;YACZ,OAAO,MAAM,CAAC;QACf,KAAK,MAAM;YACV,OAAO,MAAM,CAAC;QACf,KAAK,SAAS,CAAC;QACf,KAAK,KAAK,CAAC;QACX,KAAK,MAAM;YACV,OAAO,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC3C,KAAK,MAAM,CAAC;QACZ,KAAK,UAAU;YACd,OAAO,UAAU,CAAC;QACnB,KAAK,QAAQ;YACZ,OAAO,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC1C,KAAK,WAAW;YACf,OAAO,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC7C,KAAK,WAAW;YACf,OAAO,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC7C,KAAK,QAAQ;YACZ,OAAO,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC1C,KAAK,SAAS;YACb,OAAO,SAAS,CAAC;QAClB,KAAK,MAAM,CAAC;QACZ,KAAK,WAAW,CAAC;QACjB,KAAK,QAAQ;YACZ,OAAO,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACxC,KAAK,MAAM;YACV,OAAO,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACxC,KAAK,SAAS,CAAC;QACf,KAAK,mBAAmB;YACvB,OAAO,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC3C,KAAK,WAAW;YACf,OAAO,WAAW,CAAC;QACpB,KAAK,aAAa;YACjB,OAAO,kBAAkB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC/C,KAAK,SAAS;YACb,OAAO,SAAS,CAAC;QAClB,KAAK,OAAO;YACX,OAAO,OAAO,CAAC;QAChB,KAAK,MAAM;YACV,8EAA8E;YAC9E,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,MAAM,CAAC;YACxE,OAAO,gBAAgB,IAAI,SAAS,YAAY,CAAC,IAAI;iBACnD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;iBACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAClB,KAAK,OAAO;YACX,OAAO,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QACzC;YACC,MAAM,IAAI,KAAK,CAAC,4BAA4B,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;AACF,CAAC"}
package/src/migrate.d.ts CHANGED
@@ -1,13 +1,15 @@
1
- import { type DataformConfig, type Drift } from './drift';
2
- interface MigrationResult {
3
- safe: string[];
4
- destructive: string[];
5
- }
6
- export declare function driftToSql(drifts: Drift[], config: DataformConfig): MigrationResult;
7
- export declare function generateMigration(connectionString: string, config: DataformConfig): Promise<{
1
+ import type { DataformConfig } from './drift';
2
+ export interface MigrationResult {
8
3
  safe: string;
9
4
  destructive: string;
10
5
  driftCount: number;
11
- }>;
12
- export {};
6
+ }
7
+ /**
8
+ * Generate migration SQL by diffing the live database against the model config.
9
+ *
10
+ * This is the single source of truth: introspect the DB → convert each model with
11
+ * modelToIntrospected → diffDatabase → generateMigrationSql. (Replaces the old narrow
12
+ * detectDrift/driftToSql path; schemaDiff.ts uses the same pipeline for --apply.)
13
+ */
14
+ export declare function generateMigration(connectionString: string, config: DataformConfig): Promise<MigrationResult>;
13
15
  //# sourceMappingURL=migrate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../../libs/lockstep-pg/src/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,cAAc,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AAuBvE,UAAU,eAAe;IACxB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;CACtB;AAmBD,wBAAgB,UAAU,CACzB,MAAM,EAAE,KAAK,EAAE,EACf,MAAM,EAAE,cAAc,GACpB,eAAe,CAoXjB;AAED,wBAAsB,iBAAiB,CACtC,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,cAAc,GACpB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CA2CpE"}
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../../libs/lockstep-pg/src/migrate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAK9C,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACtC,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,cAAc,GACpB,OAAO,CAAC,eAAe,CAAC,CAsB1B"}