@proteinjs/db 1.33.0 → 1.34.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/CHANGELOG.md +13 -0
- package/dist/generated/index.js +1 -1
- package/dist/generated/index.js.map +1 -1
- package/dist/generated/test/index.d.ts.map +1 -1
- package/dist/generated/test/index.js +15 -1
- package/dist/generated/test/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/src/Db.d.ts +2 -0
- package/dist/src/Db.d.ts.map +1 -1
- package/dist/src/Db.js +33 -62
- package/dist/src/Db.js.map +1 -1
- package/dist/src/ReverseCascadeEdgeIndex.d.ts +51 -0
- package/dist/src/ReverseCascadeEdgeIndex.d.ts.map +1 -0
- package/dist/src/ReverseCascadeEdgeIndex.js +108 -0
- package/dist/src/ReverseCascadeEdgeIndex.js.map +1 -0
- package/dist/src/Table.d.ts +34 -7
- package/dist/src/Table.d.ts.map +1 -1
- package/dist/src/Table.js +2 -7
- package/dist/src/Table.js.map +1 -1
- package/dist/src/schema/TableManager.d.ts +26 -0
- package/dist/src/schema/TableManager.d.ts.map +1 -1
- package/dist/src/schema/TableManager.js +154 -13
- package/dist/src/schema/TableManager.js.map +1 -1
- package/dist/src/source/SourceRecordLoader.d.ts +18 -1
- package/dist/src/source/SourceRecordLoader.d.ts.map +1 -1
- package/dist/src/source/SourceRecordLoader.js +187 -68
- package/dist/src/source/SourceRecordLoader.js.map +1 -1
- package/dist/src/tables/MigrationTable.d.ts +1 -6
- package/dist/src/tables/MigrationTable.d.ts.map +1 -1
- package/dist/src/tables/MigrationTable.js +2 -1
- package/dist/src/tables/MigrationTable.js.map +1 -1
- package/dist/test/index.d.ts +2 -0
- package/dist/test/index.d.ts.map +1 -1
- package/dist/test/index.js +2 -0
- package/dist/test/index.js.map +1 -1
- package/dist/test/reusable/CascadeDeleteTests.d.ts.map +1 -1
- package/dist/test/reusable/CascadeDeleteTests.js +59 -0
- package/dist/test/reusable/CascadeDeleteTests.js.map +1 -1
- package/dist/test/reusable/SourceRecordSyncTests.d.ts +11 -0
- package/dist/test/reusable/SourceRecordSyncTests.d.ts.map +1 -0
- package/dist/test/reusable/SourceRecordSyncTests.js +483 -0
- package/dist/test/reusable/SourceRecordSyncTests.js.map +1 -0
- package/dist/test/util/DbTestEnvironment.d.ts.map +1 -1
- package/dist/test/util/DbTestEnvironment.js +2 -1
- package/dist/test/util/DbTestEnvironment.js.map +1 -1
- package/dist/test/util/tables/cascadeDeleteTestTables.d.ts +46 -0
- package/dist/test/util/tables/cascadeDeleteTestTables.d.ts.map +1 -1
- package/dist/test/util/tables/cascadeDeleteTestTables.js +51 -1
- package/dist/test/util/tables/cascadeDeleteTestTables.js.map +1 -1
- package/dist/test/util/tables/crudTestTables.d.ts +1 -1
- package/dist/test/util/tables/sourceRecordSyncTestTables.d.ts +82 -0
- package/dist/test/util/tables/sourceRecordSyncTestTables.d.ts.map +1 -0
- package/dist/test/util/tables/sourceRecordSyncTestTables.js +90 -0
- package/dist/test/util/tables/sourceRecordSyncTestTables.js.map +1 -0
- package/dist/test/util/tables/transactionTestTables.d.ts +1 -1
- package/generated/index.ts +1 -1
- package/generated/test/index.ts +15 -1
- package/index.ts +4 -0
- package/package.json +2 -2
- package/src/Db.ts +32 -57
- package/src/ReverseCascadeEdgeIndex.ts +126 -0
- package/src/Table.ts +32 -9
- package/src/schema/TableManager.ts +98 -1
- package/src/source/SourceRecordLoader.ts +133 -23
- package/src/tables/MigrationTable.ts +3 -2
- package/test/index.ts +2 -0
- package/test/reusable/CascadeDeleteTests.ts +46 -0
- package/test/reusable/SourceRecordSyncTests.ts +288 -0
- package/test/util/DbTestEnvironment.ts +2 -0
- package/test/util/tables/cascadeDeleteTestTables.ts +48 -0
- 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
|
|
64
|
-
return __generator(this, function (
|
|
65
|
-
switch (
|
|
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 =
|
|
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
|
-
|
|
157
|
+
_d.label = 2;
|
|
76
158
|
case 2:
|
|
77
|
-
if (!(_i < _b.length)) return [3 /*break*/,
|
|
159
|
+
if (!(_i < _b.length)) return [3 /*break*/, 5];
|
|
78
160
|
_c = _b[_i];
|
|
79
|
-
if (!(_c in _a)) return [3 /*break*/,
|
|
161
|
+
if (!(_c in _a)) return [3 /*break*/, 4];
|
|
80
162
|
tableName = _c;
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
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 (
|
|
90
|
-
qb.condition({ field:
|
|
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
|
-
|
|
95
|
-
|
|
206
|
+
removedRecords = _d.sent();
|
|
207
|
+
_i = 0, removedRecords_1 = removedRecords;
|
|
208
|
+
_d.label = 4;
|
|
96
209
|
case 4:
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
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 (!
|
|
102
|
-
|
|
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
|
-
|
|
107
|
-
|
|
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, ")
|
|
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
|
-
|
|
143
|
-
case
|
|
223
|
+
_d.label = 7;
|
|
224
|
+
case 7:
|
|
144
225
|
_i++;
|
|
145
|
-
return [3 /*break*/,
|
|
146
|
-
case
|
|
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
|
|
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: []
|
|
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,
|
|
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
|
|
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
|
-
|
|
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,
|
|
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"}
|
package/dist/test/index.d.ts
CHANGED
|
@@ -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
|
package/dist/test/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/test/index.js
CHANGED
|
@@ -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
|
package/dist/test/index.js.map
CHANGED
|
@@ -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;
|
|
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;
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oCAcuB;AACvB,gDAAmD;AACnD,+DAA8D;AAC9D,
|
|
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"}
|