@proteinjs/db 1.33.0 → 1.34.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 (79) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/generated/index.js +1 -1
  3. package/dist/generated/index.js.map +1 -1
  4. package/dist/generated/test/index.d.ts.map +1 -1
  5. package/dist/generated/test/index.js +15 -1
  6. package/dist/generated/test/index.js.map +1 -1
  7. package/dist/index.d.ts +1 -0
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +6 -0
  10. package/dist/index.js.map +1 -1
  11. package/dist/src/Db.d.ts +2 -0
  12. package/dist/src/Db.d.ts.map +1 -1
  13. package/dist/src/Db.js +33 -62
  14. package/dist/src/Db.js.map +1 -1
  15. package/dist/src/MigrationRunner.d.ts +10 -0
  16. package/dist/src/MigrationRunner.d.ts.map +1 -1
  17. package/dist/src/MigrationRunner.js +21 -2
  18. package/dist/src/MigrationRunner.js.map +1 -1
  19. package/dist/src/ReverseCascadeEdgeIndex.d.ts +51 -0
  20. package/dist/src/ReverseCascadeEdgeIndex.d.ts.map +1 -0
  21. package/dist/src/ReverseCascadeEdgeIndex.js +108 -0
  22. package/dist/src/ReverseCascadeEdgeIndex.js.map +1 -0
  23. package/dist/src/Table.d.ts +34 -7
  24. package/dist/src/Table.d.ts.map +1 -1
  25. package/dist/src/Table.js +2 -7
  26. package/dist/src/Table.js.map +1 -1
  27. package/dist/src/schema/TableManager.d.ts +26 -0
  28. package/dist/src/schema/TableManager.d.ts.map +1 -1
  29. package/dist/src/schema/TableManager.js +154 -13
  30. package/dist/src/schema/TableManager.js.map +1 -1
  31. package/dist/src/source/SourceRecordLoader.d.ts +18 -1
  32. package/dist/src/source/SourceRecordLoader.d.ts.map +1 -1
  33. package/dist/src/source/SourceRecordLoader.js +187 -68
  34. package/dist/src/source/SourceRecordLoader.js.map +1 -1
  35. package/dist/src/tables/MigrationTable.d.ts +1 -6
  36. package/dist/src/tables/MigrationTable.d.ts.map +1 -1
  37. package/dist/src/tables/MigrationTable.js +2 -1
  38. package/dist/src/tables/MigrationTable.js.map +1 -1
  39. package/dist/test/index.d.ts +2 -0
  40. package/dist/test/index.d.ts.map +1 -1
  41. package/dist/test/index.js +2 -0
  42. package/dist/test/index.js.map +1 -1
  43. package/dist/test/reusable/CascadeDeleteTests.d.ts.map +1 -1
  44. package/dist/test/reusable/CascadeDeleteTests.js +59 -0
  45. package/dist/test/reusable/CascadeDeleteTests.js.map +1 -1
  46. package/dist/test/reusable/SourceRecordSyncTests.d.ts +11 -0
  47. package/dist/test/reusable/SourceRecordSyncTests.d.ts.map +1 -0
  48. package/dist/test/reusable/SourceRecordSyncTests.js +483 -0
  49. package/dist/test/reusable/SourceRecordSyncTests.js.map +1 -0
  50. package/dist/test/util/DbTestEnvironment.d.ts.map +1 -1
  51. package/dist/test/util/DbTestEnvironment.js +2 -1
  52. package/dist/test/util/DbTestEnvironment.js.map +1 -1
  53. package/dist/test/util/tables/cascadeDeleteTestTables.d.ts +46 -0
  54. package/dist/test/util/tables/cascadeDeleteTestTables.d.ts.map +1 -1
  55. package/dist/test/util/tables/cascadeDeleteTestTables.js +51 -1
  56. package/dist/test/util/tables/cascadeDeleteTestTables.js.map +1 -1
  57. package/dist/test/util/tables/crudTestTables.d.ts +1 -1
  58. package/dist/test/util/tables/sourceRecordSyncTestTables.d.ts +82 -0
  59. package/dist/test/util/tables/sourceRecordSyncTestTables.d.ts.map +1 -0
  60. package/dist/test/util/tables/sourceRecordSyncTestTables.js +90 -0
  61. package/dist/test/util/tables/sourceRecordSyncTestTables.js.map +1 -0
  62. package/dist/test/util/tables/transactionTestTables.d.ts +1 -1
  63. package/generated/index.ts +1 -1
  64. package/generated/test/index.ts +15 -1
  65. package/index.ts +4 -0
  66. package/package.json +2 -2
  67. package/src/Db.ts +32 -57
  68. package/src/MigrationRunner.ts +21 -2
  69. package/src/ReverseCascadeEdgeIndex.ts +126 -0
  70. package/src/Table.ts +32 -9
  71. package/src/schema/TableManager.ts +98 -1
  72. package/src/source/SourceRecordLoader.ts +133 -23
  73. package/src/tables/MigrationTable.ts +3 -2
  74. package/test/index.ts +2 -0
  75. package/test/reusable/CascadeDeleteTests.ts +46 -0
  76. package/test/reusable/SourceRecordSyncTests.ts +288 -0
  77. package/test/util/DbTestEnvironment.ts +2 -0
  78. package/test/util/tables/cascadeDeleteTestTables.ts +48 -0
  79. package/test/util/tables/sourceRecordSyncTestTables.ts +84 -0
@@ -60,97 +60,218 @@ var SourceRecordLoader = /** @class */ (function () {
60
60
  }
61
61
  SourceRecordLoader.prototype.load = function () {
62
62
  return __awaiter(this, void 0, void 0, function () {
63
- var sourceRecordsMap, db, _a, _b, _c, _i, tableName, insertCount, updateCount, unchangedCount, deleteCount, table, sourceRecordIds, qb, sourceRecords, _d, sourceRecords_1, sourceRecord, existingRecord, dbSourceRecord;
64
- return __generator(this, function (_e) {
65
- switch (_e.label) {
63
+ var sourceRecordsMap, db, _loop_1, this_1, _a, _b, _c, _i, tableName;
64
+ return __generator(this, function (_d) {
65
+ switch (_d.label) {
66
66
  case 0: return [4 /*yield*/, this.getSourceRecordsMap()];
67
67
  case 1:
68
- sourceRecordsMap = _e.sent();
68
+ sourceRecordsMap = _d.sent();
69
69
  db = (0, Db_1.getDbAsSystem)();
70
+ _loop_1 = function (tableName) {
71
+ var _e, table, records, keyProperty, declaredKeys, _f, deleteCount, removedUpdateCount, insertCount, updateCount, unchangedCount, adoptedCount, _g, records_1, sourceRecord, existingRecord, dbSourceRecord;
72
+ var _h, _j;
73
+ return __generator(this, function (_k) {
74
+ switch (_k.label) {
75
+ case 0:
76
+ _e = sourceRecordsMap[tableName], table = _e.table, records = _e.records;
77
+ keyProperty = this_1.validateSyncKey(table, records);
78
+ declaredKeys = records.map(function (record) { return record[keyProperty]; });
79
+ return [4 /*yield*/, this_1.reconcileRemoved(db, table, keyProperty, declaredKeys)];
80
+ case 1:
81
+ _f = _k.sent(), deleteCount = _f.deleteCount, removedUpdateCount = _f.removedUpdateCount;
82
+ insertCount = 0;
83
+ updateCount = 0;
84
+ unchangedCount = 0;
85
+ adoptedCount = 0;
86
+ _g = 0, records_1 = records;
87
+ _k.label = 2;
88
+ case 2:
89
+ if (!(_g < records_1.length)) return [3 /*break*/, 12];
90
+ sourceRecord = records_1[_g];
91
+ sourceRecord.isLoadedFromSource = true;
92
+ return [4 /*yield*/, db.get(table, (_h = {}, _h[keyProperty] = sourceRecord[keyProperty], _h))];
93
+ case 3:
94
+ existingRecord = _k.sent();
95
+ if (!existingRecord) return [3 /*break*/, 8];
96
+ if (existingRecord.id !== sourceRecord.id) {
97
+ // Adopt in place: the existing row keeps its id — other tables may reference it.
98
+ // The declared id is only ever used for fresh inserts.
99
+ sourceRecord = __assign(__assign({}, sourceRecord), { id: existingRecord.id });
100
+ }
101
+ if (existingRecord.isLoadedFromSource !== true) {
102
+ // A pre-existing (runtime-created) row is being taken over by a declaration —
103
+ // deliberate, but loud: a declaration asserts ownership of the row's identity.
104
+ adoptedCount += 1;
105
+ this_1.logger.info({
106
+ message: "(".concat(table.name, ") Adopting existing record into source ownership"),
107
+ obj: (_j = {}, _j[keyProperty] = sourceRecord[keyProperty], _j.id = existingRecord.id, _j),
108
+ });
109
+ }
110
+ return [4 /*yield*/, this_1.hasChanges(table, sourceRecord, existingRecord)];
111
+ case 4:
112
+ if (!_k.sent()) return [3 /*break*/, 6];
113
+ return [4 /*yield*/, db.update(table, sourceRecord)];
114
+ case 5:
115
+ _k.sent();
116
+ updateCount += 1;
117
+ return [3 /*break*/, 7];
118
+ case 6:
119
+ unchangedCount += 1;
120
+ _k.label = 7;
121
+ case 7: return [3 /*break*/, 10];
122
+ case 8: return [4 /*yield*/, db.insert(table, sourceRecord)];
123
+ case 9:
124
+ dbSourceRecord = _k.sent();
125
+ sourceRecord = __assign(__assign({}, sourceRecord), dbSourceRecord);
126
+ insertCount += 1;
127
+ _k.label = 10;
128
+ case 10:
129
+ // Registered under the DB id (= the adopted id when an existing row matched by natural key).
130
+ new SourceRecordRepo_1.SourceRecordRepo().loadSourceRecord(table.name, sourceRecord);
131
+ _k.label = 11;
132
+ case 11:
133
+ _g++;
134
+ return [3 /*break*/, 2];
135
+ case 12:
136
+ this_1.logger.info({
137
+ message: "(".concat(table.name, ") Loaded ").concat(records.length, " ").concat(records.length == 1 ? 'record' : 'records', " from source"),
138
+ obj: {
139
+ inserts: insertCount,
140
+ updates: updateCount,
141
+ unchanged: unchangedCount,
142
+ adopted: adoptedCount,
143
+ deletes: deleteCount,
144
+ removedUpdates: removedUpdateCount,
145
+ },
146
+ });
147
+ return [2 /*return*/];
148
+ }
149
+ });
150
+ };
151
+ this_1 = this;
70
152
  _a = sourceRecordsMap;
71
153
  _b = [];
72
154
  for (_c in _a)
73
155
  _b.push(_c);
74
156
  _i = 0;
75
- _e.label = 2;
157
+ _d.label = 2;
76
158
  case 2:
77
- if (!(_i < _b.length)) return [3 /*break*/, 17];
159
+ if (!(_i < _b.length)) return [3 /*break*/, 5];
78
160
  _c = _b[_i];
79
- if (!(_c in _a)) return [3 /*break*/, 16];
161
+ if (!(_c in _a)) return [3 /*break*/, 4];
80
162
  tableName = _c;
81
- insertCount = 0;
82
- updateCount = 0;
83
- unchangedCount = 0;
84
- deleteCount = 0;
85
- table = sourceRecordsMap[tableName].table;
86
- sourceRecordIds = sourceRecordsMap[tableName].recordIds;
87
- if (!!table.sourceRecordOptions.doNotDeleteSourceRecordsFromDb) return [3 /*break*/, 4];
163
+ return [5 /*yield**/, _loop_1(tableName)];
164
+ case 3:
165
+ _d.sent();
166
+ _d.label = 4;
167
+ case 4:
168
+ _i++;
169
+ return [3 /*break*/, 2];
170
+ case 5: return [2 /*return*/];
171
+ }
172
+ });
173
+ });
174
+ };
175
+ /**
176
+ * The removed-reconcile leg: rows previously loaded from source whose declaration no longer
177
+ * exists (`is_loaded_from_source = true AND <key> NOT IN declared`), handled per the table's
178
+ * `onSourceRemoved` policy — delete (default), keep, or update with a patch. The update leg
179
+ * applies the patch only to rows whose fields actually differ (idempotent boots), through
180
+ * `Db.update` so table watchers observe each write.
181
+ */
182
+ SourceRecordLoader.prototype.reconcileRemoved = function (db, table, keyProperty, declaredKeys) {
183
+ var _a;
184
+ return __awaiter(this, void 0, void 0, function () {
185
+ var policy, qb, removedUpdateCount, removedRecords, _i, removedRecords_1, removedRecord;
186
+ var _b, _c;
187
+ return __generator(this, function (_d) {
188
+ switch (_d.label) {
189
+ case 0:
190
+ policy = (_a = table.sourceRecordOptions.onSourceRemoved) !== null && _a !== void 0 ? _a : 'delete';
191
+ if (policy === 'keep') {
192
+ return [2 /*return*/, { deleteCount: 0, removedUpdateCount: 0 }];
193
+ }
88
194
  qb = db_query_1.QueryBuilder.fromObject({ isLoadedFromSource: true }, table.name);
89
- if (sourceRecordIds.length > 0) {
90
- qb.condition({ field: 'id', operator: 'NOT IN', value: sourceRecordIds });
195
+ if (declaredKeys.length > 0) {
196
+ qb.condition({ field: keyProperty, operator: 'NOT IN', value: declaredKeys });
91
197
  }
198
+ if (!(policy === 'delete')) return [3 /*break*/, 2];
199
+ _b = {};
92
200
  return [4 /*yield*/, db.delete(table, qb)];
201
+ case 1: return [2 /*return*/, (_b.deleteCount = _d.sent(), _b.removedUpdateCount = 0, _b)];
202
+ case 2:
203
+ removedUpdateCount = 0;
204
+ return [4 /*yield*/, db.query(table, qb)];
93
205
  case 3:
94
- deleteCount = _e.sent();
95
- _e.label = 4;
206
+ removedRecords = _d.sent();
207
+ _i = 0, removedRecords_1 = removedRecords;
208
+ _d.label = 4;
96
209
  case 4:
97
- sourceRecords = sourceRecordsMap[tableName].records;
98
- _d = 0, sourceRecords_1 = sourceRecords;
99
- _e.label = 5;
210
+ if (!(_i < removedRecords_1.length)) return [3 /*break*/, 8];
211
+ removedRecord = removedRecords_1[_i];
212
+ return [4 /*yield*/, this.hasChanges(table, policy.update, removedRecord)];
100
213
  case 5:
101
- if (!(_d < sourceRecords_1.length)) return [3 /*break*/, 15];
102
- sourceRecord = sourceRecords_1[_d];
103
- sourceRecord.isLoadedFromSource = true;
104
- return [4 /*yield*/, db.get(table, { id: sourceRecord.id })];
214
+ if (!_d.sent()) return [3 /*break*/, 7];
215
+ return [4 /*yield*/, db.update(table, __assign({ id: removedRecord.id }, policy.update))];
105
216
  case 6:
106
- existingRecord = _e.sent();
107
- if (!existingRecord) return [3 /*break*/, 11];
108
- return [4 /*yield*/, this.hasChanges(table, sourceRecord, existingRecord)];
109
- case 7:
110
- if (!_e.sent()) return [3 /*break*/, 9];
111
- return [4 /*yield*/, db.update(table, sourceRecord)];
112
- case 8:
113
- _e.sent();
114
- updateCount += 1;
115
- return [3 /*break*/, 10];
116
- case 9:
117
- unchangedCount += 1;
118
- _e.label = 10;
119
- case 10: return [3 /*break*/, 13];
120
- case 11: return [4 /*yield*/, db.insert(table, sourceRecord)];
121
- case 12:
122
- dbSourceRecord = _e.sent();
123
- sourceRecord = __assign(__assign({}, sourceRecord), dbSourceRecord);
124
- insertCount += 1;
125
- _e.label = 13;
126
- case 13:
127
- new SourceRecordRepo_1.SourceRecordRepo().loadSourceRecord(table.name, sourceRecord);
128
- _e.label = 14;
129
- case 14:
130
- _d++;
131
- return [3 /*break*/, 5];
132
- case 15:
217
+ _d.sent();
218
+ removedUpdateCount += 1;
133
219
  this.logger.info({
134
- message: "(".concat(table.name, ") Loaded ").concat(sourceRecords.length, " ").concat(sourceRecords.length == 1 ? 'record' : 'records', " from source"),
135
- obj: {
136
- inserts: insertCount,
137
- updates: updateCount,
138
- unchanged: unchangedCount,
139
- deletes: deleteCount,
140
- },
220
+ message: "(".concat(table.name, ") Applied onSourceRemoved update to record removed from source"),
221
+ obj: (_c = { id: removedRecord.id }, _c[keyProperty] = removedRecord[keyProperty], _c),
141
222
  });
142
- _e.label = 16;
143
- case 16:
223
+ _d.label = 7;
224
+ case 7:
144
225
  _i++;
145
- return [3 /*break*/, 2];
146
- case 17: return [2 /*return*/];
226
+ return [3 /*break*/, 4];
227
+ case 8: return [2 /*return*/, { deleteCount: 0, removedUpdateCount: removedUpdateCount }];
147
228
  }
148
229
  });
149
230
  });
150
231
  };
232
+ /**
233
+ * Resolve and validate the property the sync keys on: `id` unless the table declares
234
+ * `sourceRecordOptions.naturalKey`. A natural key must be schema-unique (a `ColumnOptions.unique`
235
+ * column or a single-column unique index in `Table.indexes`), present on every declaration, and
236
+ * unambiguous across declarations — each violation fails boot loudly by name.
237
+ */
238
+ SourceRecordLoader.prototype.validateSyncKey = function (table, records) {
239
+ var _a, _b, _c;
240
+ var naturalKey = table.sourceRecordOptions.naturalKey;
241
+ if (!naturalKey) {
242
+ return 'id';
243
+ }
244
+ var column = table.columns[naturalKey];
245
+ if (!column) {
246
+ throw new Error("(".concat(table.name, ") sourceRecordOptions.naturalKey '").concat(naturalKey, "' is not a column property on the table"));
247
+ }
248
+ var uniqueByColumn = ((_b = (_a = column.options) === null || _a === void 0 ? void 0 : _a.unique) === null || _b === void 0 ? void 0 : _b.unique) === true;
249
+ var uniqueByIndex = ((_c = table.indexes) !== null && _c !== void 0 ? _c : []).some(function (index) { return index.unique === true && index.columns.length === 1 && String(index.columns[0]) === naturalKey; });
250
+ if (!uniqueByColumn && !uniqueByIndex) {
251
+ throw new Error("(".concat(table.name, ") sourceRecordOptions.naturalKey '").concat(naturalKey, "' requires the column to be unique \u2014 ") +
252
+ "declare ColumnOptions.unique on it (or a single-column unique index in Table.indexes) so " +
253
+ "natural-key adoption cannot match ambiguously");
254
+ }
255
+ var seen = new Map();
256
+ for (var _i = 0, records_2 = records; _i < records_2.length; _i++) {
257
+ var record = records_2[_i];
258
+ var value = record[naturalKey];
259
+ if (value === undefined || value === null) {
260
+ throw new Error("(".concat(table.name, ") A source record declaration is missing its natural key '").concat(naturalKey, "' (declared id: '").concat(record.id, "')"));
261
+ }
262
+ if (seen.has(value)) {
263
+ throw new Error("(".concat(table.name, ") Two source record declarations share the natural key '").concat(naturalKey, "' = '").concat(value, "' \u2014 ") +
264
+ "declarations must be unique by natural key");
265
+ }
266
+ seen.set(value, true);
267
+ }
268
+ return naturalKey;
269
+ };
151
270
  /**
152
271
  * Compare source record fields against the existing DB record to detect actual changes.
153
- * Only fields present on the source record are compared (ignoring `created`, `updated`).
272
+ * Only fields present on the source record are compared, ignoring `id`, `created`, `updated`
273
+ * (`id` because natural-key adoption keeps the existing row's id — the declared id must not
274
+ * register as perpetual drift; `Db.update` never writes id anyway).
154
275
  * Uses serialization to normalize values (e.g. Reference objects, Moment, JSON) before
155
276
  * comparison, then delegates to {@link findMismatchPath}.
156
277
  *
@@ -172,7 +293,7 @@ var SourceRecordLoader = /** @class */ (function () {
172
293
  case 2:
173
294
  serializedExisting = _a.sent();
174
295
  for (columnName in serializedSource) {
175
- if (columnName === 'created' || columnName === 'updated') {
296
+ if (columnName === 'id' || columnName === 'created' || columnName === 'updated') {
176
297
  continue;
177
298
  }
178
299
  sourceValue = serializedSource[columnName];
@@ -195,7 +316,7 @@ var SourceRecordLoader = /** @class */ (function () {
195
316
  for (_i = 0, sourceRecordTables_1 = sourceRecordTables; _i < sourceRecordTables_1.length; _i++) {
196
317
  sourceRecordTable = sourceRecordTables_1[_i];
197
318
  if (!sourceRecordsMap[sourceRecordTable.name]) {
198
- sourceRecordsMap[sourceRecordTable.name] = { table: sourceRecordTable, records: [], recordIds: [] };
319
+ sourceRecordsMap[sourceRecordTable.name] = { table: sourceRecordTable, records: [] };
199
320
  }
200
321
  }
201
322
  sourceRecordLoaders = (0, SourceRecord_1.getSourceRecordLoaders)();
@@ -205,11 +326,9 @@ var SourceRecordLoader = /** @class */ (function () {
205
326
  sourceRecordsMap[sourceRecordLoader.table.name] = {
206
327
  table: sourceRecordLoader.table,
207
328
  records: [],
208
- recordIds: [],
209
329
  };
210
330
  }
211
331
  sourceRecordsMap[sourceRecordLoader.table.name].records.push(sourceRecordLoader.record);
212
- sourceRecordsMap[sourceRecordLoader.table.name].recordIds.push(sourceRecordLoader.record.id);
213
332
  }
214
333
  return [2 /*return*/, sourceRecordsMap];
215
334
  });
@@ -1 +1 @@
1
- {"version":3,"file":"SourceRecordLoader.js","sourceRoot":"","sources":["../../../src/source/SourceRecordLoader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA2C;AAC3C,gDAAmD;AACnD,+CAA6F;AAE7F,4BAAsC;AACtC,uDAAsD;AACtD,oCAA6C;AAM7C;IAAA;QACU,WAAM,GAAG,IAAI,eAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;IA0M/D,CAAC;IAxMO,iCAAI,GAAV;;;;;4BAC2B,qBAAM,IAAI,CAAC,mBAAmB,EAAE,EAAA;;wBAAnD,gBAAgB,GAAG,SAAgC;wBACnD,EAAE,GAAG,IAAA,kBAAa,GAAE,CAAC;6BACH,gBAAgB;;;;;;;;;;;wBAClC,WAAW,GAAG,CAAC,CAAC;wBAChB,WAAW,GAAG,CAAC,CAAC;wBAChB,cAAc,GAAG,CAAC,CAAC;wBACnB,WAAW,GAAG,CAAC,CAAC;wBACd,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC;wBAC1C,eAAe,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC;6BAC1D,CAAC,KAAK,CAAC,mBAAmB,CAAC,8BAA8B,EAAzD,wBAAyD;wBACrD,EAAE,GAAG,uBAAY,CAAC,UAAU,CAAe,EAAE,kBAAkB,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;wBAC3F,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC9B,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;yBAC3E;wBAEa,qBAAM,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,EAAA;;wBAAxC,WAAW,GAAG,SAA0B,CAAC;;;wBAGrC,aAAa,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;8BACpB,EAAb,+BAAa;;;6BAAb,CAAA,2BAAa,CAAA;wBAA7B,YAAY;wBACnB,YAAY,CAAC,kBAAkB,GAAG,IAAI,CAAC;wBAChB,qBAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,EAAA;;wBAA7D,cAAc,GAAG,SAA4C;6BAC/D,cAAc,EAAd,yBAAc;wBACZ,qBAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,cAAc,CAAC,EAAA;;6BAA1D,SAA0D,EAA1D,wBAA0D;wBAC5D,qBAAM,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,EAAA;;wBAApC,SAAoC,CAAC;wBACrC,WAAW,IAAI,CAAC,CAAC;;;wBAEjB,cAAc,IAAI,CAAC,CAAC;;;6BAGC,qBAAM,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY,CAAC,EAAA;;wBAArD,cAAc,GAAG,SAAoC;wBAC3D,YAAY,yBAAQ,YAAY,GAAK,cAAc,CAAE,CAAC;wBACtD,WAAW,IAAI,CAAC,CAAC;;;wBAGnB,IAAI,mCAAgB,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,YAAmB,CAAC,CAAC;;;wBAhBlD,IAAa,CAAA;;;wBAmBtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;4BACf,OAAO,EAAE,WAAI,KAAK,CAAC,IAAI,sBAAY,aAAa,CAAC,MAAM,cAAI,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,iBAAc;4BACzH,GAAG,EAAE;gCACH,OAAO,EAAE,WAAW;gCACpB,OAAO,EAAE,WAAW;gCACpB,SAAS,EAAE,cAAc;gCACzB,OAAO,EAAE,WAAW;6BACrB;yBACF,CAAC,CAAC;;;;;;;;;KAEN;IAED;;;;;;;;;OASG;IACW,uCAAU,GAAxB,UAAyB,KAAiB,EAAE,YAAiB,EAAE,cAAmB;;;;;;wBAC1E,UAAU,GAAG,IAAI,yBAAgB,CAAC,KAAK,CAAC,CAAC;wBACtB,qBAAM,UAAU,CAAC,SAAS,CAAC,YAAY,CAAC,EAAA;;wBAA3D,gBAAgB,GAAG,SAAwC;wBACtC,qBAAM,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,EAAA;;wBAA/D,kBAAkB,GAAG,SAA0C;wBACrE,KAAW,UAAU,IAAI,gBAAgB,EAAE;4BACzC,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE;gCACxD,SAAS;6BACV;4BAEK,WAAW,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;4BAC3C,aAAa,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;4BACrD,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE;gCACjE,sBAAO,IAAI,EAAC;6BACb;yBACF;wBAED,sBAAO,KAAK,EAAC;;;;KACd;IAEa,gDAAmB,GAAjC;;;;gBACQ,gBAAgB,GAAqB,EAAE,CAAC;gBACxC,kBAAkB,GAAG,IAAA,oCAAqB,GAAE,CAAC;gBACnD,WAAkD,EAAlB,yCAAkB,EAAlB,gCAAkB,EAAlB,IAAkB,EAAE;oBAAzC,iBAAiB;oBAC1B,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;wBAC7C,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;qBACrG;iBACF;gBAEK,mBAAmB,GAAG,IAAA,qCAAsB,GAAE,CAAC;gBACrD,WAAoD,EAAnB,2CAAmB,EAAnB,iCAAmB,EAAnB,IAAmB,EAAE;oBAA3C,kBAAkB;oBAC3B,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;wBACpD,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG;4BAChD,KAAK,EAAE,kBAAkB,CAAC,KAAK;4BAC/B,OAAO,EAAE,EAAE;4BACX,SAAS,EAAE,EAAE;yBACd,CAAC;qBACH;oBAED,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;oBACxF,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;iBAC9F;gBAED,sBAAO,gBAAgB,EAAC;;;KACzB;IAED;;;;;;;;;;;;OAYG;IACK,6CAAgB,GAAxB,UAAyB,MAAW,EAAE,QAAa,EAAE,IAAY;QAC/D,IAAI,MAAM,KAAK,QAAQ,EAAE;YACvB,OAAO,IAAI,CAAC;SACb;QAED,IAAI,MAAM,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,EAAE;YACtC,IAAI,MAAM,IAAI,QAAQ,EAAE;gBACtB,OAAO,IAAI,CAAC;aACb;YACD,OAAO,UAAG,IAAI,sBAAY,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,wBAAc,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAE,CAAC;SAC1F;QAED,IAAI,OAAO,MAAM,KAAK,OAAO,QAAQ,EAAE;YACrC,OAAO,UAAG,IAAI,qCAA2B,OAAO,MAAM,wBAAc,OAAO,QAAQ,CAAE,CAAC;SACvF;QAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC9B,IAAM,SAAS,GAAG,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9G,IAAM,WAAW,GACf,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtG,OAAO,UAAG,IAAI,sBAAY,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,wBAAc,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAE,CAAC;SAChG;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YACrD,OAAO,UAAG,IAAI,8CAAoC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,gCAAsB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAE,CAAC;SACxH;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACzB,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE;gBACrC,OAAO,UAAG,IAAI,oCAA0B,MAAM,CAAC,MAAM,wBAAc,QAAQ,CAAC,MAAM,CAAE,CAAC;aACtF;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,IAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAG,IAAI,cAAI,CAAC,MAAG,CAAC,CAAC;gBAC9E,IAAI,MAAM,EAAE;oBACV,OAAO,MAAM,CAAC;iBACf;aACF;YACD,OAAO,IAAI,CAAC;SACb;QAED,8EAA8E;QAC9E,2EAA2E;QAC3E,6EAA6E;QAC7E,mCAAmC;QACnC,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE;YACzE,OAAO,UAAG,IAAI,qBAAkB,CAAC;SAClC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,+CAAkB,GAA1B,UAA2B,KAAc;QAAzC,iBAiBC;QAhBC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAC9B;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,uEAAuE;YACvE,OAAO,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAvD,CAAuD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;SACxG;QACD,4EAA4E;QAC5E,0EAA0E;QAC1E,0EAA0E;QAC1E,+DAA+D;QAC/D,IAAM,GAAG,GAAG,KAAgC,CAAC;QAC7C,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;aAC1B,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,EAApB,CAAoB,CAAC;aACnC,IAAI,EAAE,CAAC;QACV,OAAO,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAzD,CAAyD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAC1G,CAAC;IACH,yBAAC;AAAD,CAAC,AA3MD,IA2MC;AA3MY,gDAAkB"}
1
+ {"version":3,"file":"SourceRecordLoader.js","sourceRoot":"","sources":["../../../src/source/SourceRecordLoader.ts"],"names":[],"mappings":"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"}
@@ -57,11 +57,6 @@ export declare class MigrationTable extends Table<Migration> {
57
57
  } & {
58
58
  output?: import("../Table").Column<any, any> | undefined;
59
59
  };
60
- sourceRecordOptions: {
61
- doNotDeleteSourceRecordsFromDb: boolean;
62
- ui: {
63
- hideColumns: boolean;
64
- };
65
- };
60
+ sourceRecordOptions: Table<Migration>['sourceRecordOptions'];
66
61
  }
67
62
  //# sourceMappingURL=MigrationTable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationTable.d.ts","sourceRoot":"","sources":["../../../src/tables/MigrationTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,YAAY,EAA2B,MAAM,wBAAwB,CAAC;AAE/E,MAAM,WAAW,SAAU,SAAQ,YAAY;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IACxD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,GAAG,EAAE,MAAM,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;CAChC;AAED,qBAAa,cAAe,SAAQ,KAAK,CAAC,SAAS,CAAC;IAC3C,IAAI,SAAe;IAC1B;;;;;OAKG;IACI,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAGnC;IACK,OAAO;;;;;;;;;;;;;;;;;;MAWX;IACI,mBAAmB;;;;;MAKxB;CACH"}
1
+ {"version":3,"file":"MigrationTable.d.ts","sourceRoot":"","sources":["../../../src/tables/MigrationTable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,YAAY,EAA2B,MAAM,wBAAwB,CAAC;AAE/E,MAAM,WAAW,SAAU,SAAQ,YAAY;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IACxD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,GAAG,EAAE,MAAM,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;CAChC;AAED,qBAAa,cAAe,SAAQ,KAAK,CAAC,SAAS,CAAC;IAC3C,IAAI,SAAe;IAC1B;;;;;OAKG;IACI,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAGnC;IACK,OAAO;;;;;;;;;;;;;;;;;;MAWX;IACI,mBAAmB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAMjE;CACH"}
@@ -85,7 +85,8 @@ var MigrationTable = /** @class */ (function (_super) {
85
85
  output: new Columns_1.ObjectColumn('output'),
86
86
  });
87
87
  _this.sourceRecordOptions = {
88
- doNotDeleteSourceRecordsFromDb: true,
88
+ // The ledger outlives the migration class: run history stays when the source is deleted.
89
+ onSourceRemoved: 'keep',
89
90
  ui: {
90
91
  hideColumns: true,
91
92
  },
@@ -1 +1 @@
1
- {"version":3,"file":"MigrationTable.js","sourceRoot":"","sources":["../../../src/tables/MigrationTable.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,sCAAuF;AACvF,kCAAiC;AACjC,uDAA+E;AA+B/E;IAAoC,kCAAgB;IAApD;QAAA,qEA8BC;QA7BQ,UAAI,GAAG,WAAW,CAAC;QAC1B;;;;;WAKG;QACI,UAAI,GAA6B;YACtC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE;YAClC,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE;SACxC,CAAC;QACK,aAAO,GAAG,IAAA,sCAAuB,EAAY;YAClD,WAAW,EAAE,IAAI,sBAAY,CAAC,aAAa,EAAE,EAAE,EAAE,IAAI,CAAC;YACtD,MAAM,EAAE,IAAI,uBAAa,CAAC,QAAQ,CAAC;YACnC,OAAO,EAAE,IAAI,uBAAa,CAAC,SAAS,CAAC;YACrC,MAAM,EAAE,IAAI,sBAAY,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE;oBAAY,sBAAA,UAAU,EAAA;yBAAA,EAAE,CAAC;YAC5E,cAAc,EAAE,IAAI,sBAAY,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,CAAC;YAC7D,YAAY,EAAE,IAAI,sBAAY,CAAC,eAAe,EAAE,EAAE,EAAE,KAAK,CAAC;YAC1D,SAAS,EAAE,IAAI,wBAAc,CAAC,YAAY,CAAC;YAC3C,OAAO,EAAE,IAAI,wBAAc,CAAC,UAAU,CAAC;YACvC,QAAQ,EAAE,IAAI,sBAAY,CAAC,UAAU,CAAC;YACtC,MAAM,EAAE,IAAI,sBAAY,CAAC,QAAQ,CAAC;SACnC,CAAC,CAAC;QACI,yBAAmB,GAAG;YAC3B,8BAA8B,EAAE,IAAI;YACpC,EAAE,EAAE;gBACF,WAAW,EAAE,IAAI;aAClB;SACF,CAAC;;IACJ,CAAC;IAAD,qBAAC;AAAD,CAAC,AA9BD,CAAoC,aAAK,GA8BxC;AA9BY,wCAAc"}
1
+ {"version":3,"file":"MigrationTable.js","sourceRoot":"","sources":["../../../src/tables/MigrationTable.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,sCAAuF;AACvF,kCAAiC;AACjC,uDAA+E;AA+B/E;IAAoC,kCAAgB;IAApD;QAAA,qEA+BC;QA9BQ,UAAI,GAAG,WAAW,CAAC;QAC1B;;;;;WAKG;QACI,UAAI,GAA6B;YACtC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE;YAClC,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE;SACxC,CAAC;QACK,aAAO,GAAG,IAAA,sCAAuB,EAAY;YAClD,WAAW,EAAE,IAAI,sBAAY,CAAC,aAAa,EAAE,EAAE,EAAE,IAAI,CAAC;YACtD,MAAM,EAAE,IAAI,uBAAa,CAAC,QAAQ,CAAC;YACnC,OAAO,EAAE,IAAI,uBAAa,CAAC,SAAS,CAAC;YACrC,MAAM,EAAE,IAAI,sBAAY,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE;oBAAY,sBAAA,UAAU,EAAA;yBAAA,EAAE,CAAC;YAC5E,cAAc,EAAE,IAAI,sBAAY,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,CAAC;YAC7D,YAAY,EAAE,IAAI,sBAAY,CAAC,eAAe,EAAE,EAAE,EAAE,KAAK,CAAC;YAC1D,SAAS,EAAE,IAAI,wBAAc,CAAC,YAAY,CAAC;YAC3C,OAAO,EAAE,IAAI,wBAAc,CAAC,UAAU,CAAC;YACvC,QAAQ,EAAE,IAAI,sBAAY,CAAC,UAAU,CAAC;YACtC,MAAM,EAAE,IAAI,sBAAY,CAAC,QAAQ,CAAC;SACnC,CAAC,CAAC;QACI,yBAAmB,GAA4C;YACpE,yFAAyF;YACzF,eAAe,EAAE,MAAM;YACvB,EAAE,EAAE;gBACF,WAAW,EAAE,IAAI;aAClB;SACF,CAAC;;IACJ,CAAC;IAAD,qBAAC;AAAD,CAAC,AA/BD,CAAoC,aAAK,GA+BxC;AA/BY,wCAAc"}
@@ -6,12 +6,14 @@ export * from './reusable/TransactionTests';
6
6
  export * from './reusable/CascadeDeleteTests';
7
7
  export * from './reusable/PreloadReferencesTests';
8
8
  export * from './reusable/RecordIteratorTests';
9
+ export * from './reusable/SourceRecordSyncTests';
9
10
  export * from './util/testUser';
10
11
  export * from './util/tables/cascadeDeleteTestTables';
11
12
  export * from './util/tables/columnTypesTestTables';
12
13
  export * from './util/tables/crudTestTables';
13
14
  export * from './util/tables/dynamicReferenceColumnTestTables';
14
15
  export * from './util/tables/recordIteratorTestTables';
16
+ export * from './util/tables/sourceRecordSyncTestTables';
15
17
  export * from './util/tables/tableManagerTestTables';
16
18
  export * from './util/tables/transactionTestTables';
17
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../test/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wCAAwC,CAAC;AACvD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAE/C,cAAc,iBAAiB,CAAC;AAEhC,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AACpD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gDAAgD,CAAC;AAC/D,cAAc,wCAAwC,CAAC;AACvD,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../test/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wCAAwC,CAAC;AACvD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AAEjD,cAAc,iBAAiB,CAAC;AAEhC,cAAc,uCAAuC,CAAC;AACtD,cAAc,qCAAqC,CAAC;AACpD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gDAAgD,CAAC;AAC/D,cAAc,wCAAwC,CAAC;AACvD,cAAc,0CAA0C,CAAC;AACzD,cAAc,sCAAsC,CAAC;AACrD,cAAc,qCAAqC,CAAC"}
@@ -22,12 +22,14 @@ __exportStar(require("./reusable/TransactionTests"), exports);
22
22
  __exportStar(require("./reusable/CascadeDeleteTests"), exports);
23
23
  __exportStar(require("./reusable/PreloadReferencesTests"), exports);
24
24
  __exportStar(require("./reusable/RecordIteratorTests"), exports);
25
+ __exportStar(require("./reusable/SourceRecordSyncTests"), exports);
25
26
  __exportStar(require("./util/testUser"), exports);
26
27
  __exportStar(require("./util/tables/cascadeDeleteTestTables"), exports);
27
28
  __exportStar(require("./util/tables/columnTypesTestTables"), exports);
28
29
  __exportStar(require("./util/tables/crudTestTables"), exports);
29
30
  __exportStar(require("./util/tables/dynamicReferenceColumnTestTables"), exports);
30
31
  __exportStar(require("./util/tables/recordIteratorTestTables"), exports);
32
+ __exportStar(require("./util/tables/sourceRecordSyncTestTables"), exports);
31
33
  __exportStar(require("./util/tables/tableManagerTestTables"), exports);
32
34
  __exportStar(require("./util/tables/transactionTestTables"), exports);
33
35
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../test/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C;AAC7C,uDAAqC;AACrC,8DAA4C;AAC5C,yEAAuD;AACvD,8DAA4C;AAC5C,gEAA8C;AAC9C,oEAAkD;AAClD,iEAA+C;AAE/C,kDAAgC;AAEhC,wEAAsD;AACtD,sEAAoD;AACpD,+DAA6C;AAC7C,iFAA+D;AAC/D,yEAAuD;AACvD,uEAAqD;AACrD,sEAAoD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../test/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C;AAC7C,uDAAqC;AACrC,8DAA4C;AAC5C,yEAAuD;AACvD,8DAA4C;AAC5C,gEAA8C;AAC9C,oEAAkD;AAClD,iEAA+C;AAC/C,mEAAiD;AAEjD,kDAAgC;AAEhC,wEAAsD;AACtD,sEAAoD;AACpD,+DAA6C;AAC7C,iFAA+D;AAC/D,yEAAuD;AACvD,2EAAyD;AACzD,uEAAqD;AACrD,sEAAoD"}
@@ -1 +1 @@
1
- {"version":3,"file":"CascadeDeleteTests.d.ts","sourceRoot":"","sources":["../../../test/reusable/CascadeDeleteTests.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,QAAQ,EACR,KAAK,EAKL,gCAAgC,EACjC,MAAM,eAAe,CAAC;AAgBvB;;GAEG;AACH,eAAO,MAAM,kBAAkB,WACrB,QAAQ,6BACW,gCAAgC,qBACxC,MAAM,GAAG,CAAC,KAAK,QAAQ,IAAI,CAAC,eA+JhD,CAAC"}
1
+ {"version":3,"file":"CascadeDeleteTests.d.ts","sourceRoot":"","sources":["../../../test/reusable/CascadeDeleteTests.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,QAAQ,EACR,KAAK,EAKL,gCAAgC,EACjC,MAAM,eAAe,CAAC;AAkBvB;;GAEG;AACH,eAAO,MAAM,kBAAkB,WACrB,QAAQ,6BACW,gCAAgC,qBACxC,MAAM,GAAG,CAAC,KAAK,QAAQ,IAAI,CAAC,eA2MhD,CAAC"}
@@ -279,6 +279,65 @@ var cascadeDeleteTests = function (driver, transactionContextFactory, dropTable)
279
279
  }
280
280
  });
281
281
  }); });
282
+ test('DynamicReferenceColumn: edge applies to every target table, scoped per row', function () { return __awaiter(void 0, void 0, void 0, function () {
283
+ var pilotTable, robotTable, missionTable, pilot, robot, pilotMission, robotDelQb, robotsDeleted, missionsAfterRobot, pilotDelQb, pilotsDeleted, missionsAfterPilot;
284
+ return __generator(this, function (_a) {
285
+ switch (_a.label) {
286
+ case 0:
287
+ pilotTable = cascadeDeleteTestTables_1.cascadeDeleteTestTables.Pilot;
288
+ robotTable = cascadeDeleteTestTables_1.cascadeDeleteTestTables.Robot;
289
+ missionTable = cascadeDeleteTestTables_1.cascadeDeleteTestTables.Mission;
290
+ return [4 /*yield*/, db.insert(pilotTable, { name: 'Pia Pilot' })];
291
+ case 1:
292
+ pilot = _a.sent();
293
+ return [4 /*yield*/, db.insert(robotTable, { name: 'Rusty Robot' })];
294
+ case 2:
295
+ robot = _a.sent();
296
+ return [4 /*yield*/, db.insert(missionTable, {
297
+ title: 'Fly Cargo',
298
+ assigneeTableName: pilotTable.name,
299
+ assigneeRef: new db_1.Reference(pilotTable.name, pilot.id),
300
+ })];
301
+ case 3:
302
+ pilotMission = _a.sent();
303
+ return [4 /*yield*/, db.insert(missionTable, {
304
+ title: 'Weld Hull',
305
+ assigneeTableName: robotTable.name,
306
+ assigneeRef: new db_1.Reference(robotTable.name, robot.id),
307
+ })];
308
+ case 4:
309
+ _a.sent();
310
+ robotDelQb = new db_query_1.QueryBuilder(robotTable.name).condition({
311
+ field: 'id',
312
+ operator: '=',
313
+ value: robot.id,
314
+ });
315
+ return [4 /*yield*/, db.delete(robotTable, robotDelQb)];
316
+ case 5:
317
+ robotsDeleted = _a.sent();
318
+ expect(robotsDeleted).toBe(1);
319
+ return [4 /*yield*/, db.query(missionTable, {})];
320
+ case 6:
321
+ missionsAfterRobot = _a.sent();
322
+ expect(missionsAfterRobot.length).toBe(1);
323
+ expect(missionsAfterRobot[0].id).toBe(pilotMission.id);
324
+ pilotDelQb = new db_query_1.QueryBuilder(pilotTable.name).condition({
325
+ field: 'id',
326
+ operator: '=',
327
+ value: pilot.id,
328
+ });
329
+ return [4 /*yield*/, db.delete(pilotTable, pilotDelQb)];
330
+ case 7:
331
+ pilotsDeleted = _a.sent();
332
+ expect(pilotsDeleted).toBe(1);
333
+ return [4 /*yield*/, db.query(missionTable, {})];
334
+ case 8:
335
+ missionsAfterPilot = _a.sent();
336
+ expect(missionsAfterPilot.length).toBe(0);
337
+ return [2 /*return*/];
338
+ }
339
+ });
340
+ }); });
282
341
  });
283
342
  };
284
343
  };
@@ -1 +1 @@
1
- {"version":3,"file":"CascadeDeleteTests.js","sourceRoot":"","sources":["../../../test/reusable/CascadeDeleteTests.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CascadeDeleteTests.js","sourceRoot":"","sources":["../../../test/reusable/CascadeDeleteTests.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { DbDriver, Table } from '@proteinjs/db';
2
+ import type { DefaultTransactionContextFactory } from '@proteinjs/db';
3
+ /**
4
+ * Emulator-backed outcome tests for the source-record sync's mixed-table semantics:
5
+ * declare-only ownership (human rows structurally untouchable), natural-key adoption
6
+ * (existing row keeps its id and runtime fields), `onSourceRemoved` policies (flag-not-delete
7
+ * through `Db.update` so watchers fire; default delete unchanged), boot-time natural-key
8
+ * validation, and the unique-index duplicate preflight.
9
+ */
10
+ export declare const sourceRecordSyncTests: (driver: DbDriver, transactionContextFactory: DefaultTransactionContextFactory, dropTable: (table: Table<any>) => Promise<void>) => () => void;
11
+ //# sourceMappingURL=SourceRecordSyncTests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SourceRecordSyncTests.d.ts","sourceRoot":"","sources":["../../../test/reusable/SourceRecordSyncTests.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,QAAQ,EAKR,KAAK,EAIN,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,eAAe,CAAC;AAkCtE;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,WACxB,QAAQ,6BACW,gCAAgC,qBACxC,MAAM,GAAG,CAAC,KAAK,QAAQ,IAAI,CAAC,eAsOhD,CAAC"}