@proteinjs/db 1.32.3 → 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 +24 -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/MigrationRunner.d.ts +14 -3
- package/dist/src/MigrationRunner.d.ts.map +1 -1
- package/dist/src/MigrationRunner.js +56 -28
- package/dist/src/MigrationRunner.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 +10 -6
- package/dist/src/tables/MigrationTable.d.ts.map +1 -1
- package/dist/src/tables/MigrationTable.js +3 -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/MigrationRunner.ts +29 -4
- 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 +12 -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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../generated/test/index.ts"],"names":[],"mappings":";AAAA,oCAAoC;;;;;;;;;;;;;;;;AAEpC,+BAA6B;AAC7B,6BAA2B;AAC3B,iCAA+B;AAC/B,iCAA+B;AAC/B,iCAA+B;AAC/B,8BAA4B;AAC5B,gCAA8B;AAC9B,2BAAyB;AACzB,kBAAgB;AAChB,gBAAc;AAGd,4BAA4B;AAE5B,IAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../generated/test/index.ts"],"names":[],"mappings":";AAAA,oCAAoC;;;;;;;;;;;;;;;;AAEpC,+BAA6B;AAC7B,6BAA2B;AAC3B,iCAA+B;AAC/B,iCAA+B;AAC/B,iCAA+B;AAC/B,8BAA4B;AAC5B,gCAA8B;AAC9B,2BAAyB;AACzB,kBAAgB;AAChB,gBAAc;AAGd,4BAA4B;AAE5B,IAAM,WAAW,GAAG,uj4GAAuj4G,CAAC;AAG5k4G,4BAA4B;AAE5B,0FAAgF;AAChF,yCAAwC;AACxC,0FAA+E;AAC/E,0FAAgF;AAChF,0FAA+E;AAC/E,0FAAgF;AAChF,0FAA+E;AAC/E,0FAA2E;AAC3E,0FAA8E;AAC9E,0FAAmF;AACnF,2FAAkF;AAClF,2FAA6E;AAC7E,2FAA2E;AAC3E,2FAA4E;AAC5E,2FAA4E;AAC5E,2FAA8E;AAC9E,sFAAyE;AACzE,wEAA0E;AAC1E,wEAA8E;AAC9E,4GAAiG;AACjG,4GAAwF;AACxF,4GAAwF;AACxF,4GAA8F;AAC9F,4FAA0F;AAC1F,gGAA4F;AAC5F,gGAA2F;AAC3F,gGAAuF;AACvF,gGAAkG;AAClG,wFAA8E;AAC9E,wFAAqF;AACrF,wFAAiF;AACjF,sFAA4F;AAC5F,sFAAgG;AAChG,mCAAkC;AAClC,iEAAgE;AAChE,6DAA4D;AAC5D,2DAA0D;AAC1D,qEAAoE;AACpE,2FAA0F;AAC1F,iFAAgF;AAChF,yEAAwE;AACxE,0EAAyE;AACzE,kEAAiE;AACjE,6EAA4E;AAE5E,IAAM,WAAW,GAAG;IACnB,8BAA8B,EAAE,wCAAc;IAC9C,qBAAqB,EAAE,aAAK;IAC5B,6BAA6B,EAAE,uCAAa;IAC5C,8BAA8B,EAAE,wCAAc;IAC9C,6BAA6B,EAAE,uCAAa;IAC5C,8BAA8B,EAAE,wCAAc;IAC9C,6BAA6B,EAAE,uCAAa;IAC5C,yBAAyB,EAAE,mCAAS;IACpC,4BAA4B,EAAE,sCAAY;IAC1C,iCAAiC,EAAE,2CAAiB;IACpD,gCAAgC,EAAE,2CAAgB;IAClD,2BAA2B,EAAE,sCAAW;IACxC,yBAAyB,EAAE,oCAAS;IACpC,0BAA0B,EAAE,qCAAU;IACtC,0BAA0B,EAAE,qCAAU;IACtC,4BAA4B,EAAE,uCAAY;IAC1C,yBAAyB,EAAE,iCAAS;IACpC,iCAAiC,EAAE,kCAAiB;IACpD,qCAAqC,EAAE,sCAAqB;IAC5D,sCAAsC,EAAE,yDAAsB;IAC9D,6BAA6B,EAAE,gDAAa;IAC5C,6BAA6B,EAAE,gDAAa;IAC5C,mCAAmC,EAAE,sDAAmB;IACxD,uCAAuC,EAAE,kDAAuB;IAChE,uCAAuC,EAAE,oDAAuB;IAChE,sCAAsC,EAAE,mDAAsB;IAC9D,kCAAkC,EAAE,+CAAkB;IACtD,6CAA6C,EAAE,0DAA6B;IAC5E,6BAA6B,EAAE,sCAAa;IAC5C,oCAAoC,EAAE,6CAAoB;IAC1D,gCAAgC,EAAE,yCAAgB;IAClD,4CAA4C,EAAE,oDAA4B;IAC1E,gDAAgD,EAAE,wDAAgC;IAClF,kBAAkB,EAAE,OAAE;IACtB,iCAAiC,EAAE,qCAAiB;IACpD,+BAA+B,EAAE,iCAAe;IAChD,yBAAyB,EAAE,qBAAS;IACpC,8BAA8B,EAAE,+BAAc;IAC9C,wCAAwC,EAAE,mDAAwB;IAClE,mCAAmC,EAAE,yCAAmB;IACxD,+BAA+B,EAAE,iCAAe;IAChD,kCAAkC,EAAE,uCAAkB;IACtD,8BAA8B,EAAE,+BAAc;IAC9C,iCAAiC,EAAE,qCAAiB;CACpD,CAAC;AAGF,kCAAkC;AAElC,oDAAyD;AACzD,6BAAgB,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAGjD,mDAAiC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ export * from './src/RecordIterator';
|
|
|
13
13
|
export * from './src/CursorWindowPager';
|
|
14
14
|
export * from './src/source/SourceRecord';
|
|
15
15
|
export * from './src/source/SourceRecordRepo';
|
|
16
|
+
export { SourceRecordLoader as SourceRecordSyncRunner } from './src/source/SourceRecordLoader';
|
|
16
17
|
export * from './src/MigrationRunner';
|
|
17
18
|
export * from './src/QueryBuilderFactory';
|
|
18
19
|
export * from './src/TableWatcher';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAI9C,OAAO,EAAE,kBAAkB,IAAI,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC/F,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,6CAA6C,CAAC;AAE5D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAE1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAE5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uCAAuC,CAAC;AACtD,cAAc,yCAAyC,CAAC;AAExD,cAAc,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.SourceRecordSyncRunner = void 0;
|
|
17
18
|
__exportStar(require("./src/Db"), exports);
|
|
18
19
|
__exportStar(require("./src/Table"), exports);
|
|
19
20
|
__exportStar(require("./src/auth/TableAuth"), exports);
|
|
@@ -29,6 +30,11 @@ __exportStar(require("./src/RecordIterator"), exports);
|
|
|
29
30
|
__exportStar(require("./src/CursorWindowPager"), exports);
|
|
30
31
|
__exportStar(require("./src/source/SourceRecord"), exports);
|
|
31
32
|
__exportStar(require("./src/source/SourceRecordRepo"), exports);
|
|
33
|
+
// The sync runner behind Db.init's source-record leg, aliased: its class name is taken in this
|
|
34
|
+
// index by the SourceRecordLoader declaration interface. Public so consumer test harnesses can
|
|
35
|
+
// run one boot of the sync directly (the exports map blocks deep dist imports).
|
|
36
|
+
var SourceRecordLoader_1 = require("./src/source/SourceRecordLoader");
|
|
37
|
+
Object.defineProperty(exports, "SourceRecordSyncRunner", { enumerable: true, get: function () { return SourceRecordLoader_1.SourceRecordLoader; } });
|
|
32
38
|
__exportStar(require("./src/MigrationRunner"), exports);
|
|
33
39
|
__exportStar(require("./src/QueryBuilderFactory"), exports);
|
|
34
40
|
__exportStar(require("./src/TableWatcher"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,8CAA4B;AAC5B,uDAAqC;AACrC,8DAA4C;AAC5C,gDAA8B;AAC9B,+CAA6B;AAC7B,iEAA+C;AAC/C,qEAAmD;AACnD,4DAA0C;AAC1C,yDAAuC;AACvC,iEAA+C;AAC/C,uDAAqC;AACrC,0DAAwC;AACxC,4DAA0C;AAC1C,gEAA8C;AAC9C,+FAA+F;AAC/F,+FAA+F;AAC/F,gFAAgF;AAChF,sEAA+F;AAAtF,4HAAA,kBAAkB,OAA0B;AACrD,wDAAsC;AACtC,4DAA0C;AAC1C,qDAAmC;AACnC,gEAA8C;AAC9C,sEAAoD;AACpD,8EAA4D;AAE5D,gEAA8C;AAC9C,8DAA4C;AAC5C,4DAA0C;AAE1C,sDAAoC;AACpC,8DAA4C;AAE5C,2DAAyC;AACzC,wEAAsD;AACtD,0EAAwD;AAExD,sDAAoC"}
|
package/dist/src/Db.d.ts
CHANGED
|
@@ -88,6 +88,8 @@ export declare class Db<R extends Record = Record> implements DbService<R> {
|
|
|
88
88
|
private runCascadeDeletions;
|
|
89
89
|
/**
|
|
90
90
|
* Reverse cascades driven by column-level flags on reference columns only.
|
|
91
|
+
* Edges come from the `ReverseCascadeEdgeIndex` (derived once per process from the static
|
|
92
|
+
* table registry) instead of a per-delete scan over every registered table's columns.
|
|
91
93
|
* Supports:
|
|
92
94
|
* - ReferenceColumn
|
|
93
95
|
* - DynamicReferenceColumn
|
package/dist/src/Db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Db.d.ts","sourceRoot":"","sources":["../../src/Db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAgB,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAoB,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAEL,KAAK,
|
|
1
|
+
{"version":3,"file":"Db.d.ts","sourceRoot":"","sources":["../../src/Db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAgB,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAoB,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAEL,KAAK,EAKN,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,MAAM,EAAoB,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGtE,OAAO,EAAE,sBAAsB,EAAgB,SAAS,EAAoB,MAAM,qBAAqB,CAAC;AAGxG,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAIrD,OAAO,EACL,gCAAgC,EAChC,cAAc,EAGf,MAAM,yCAAyC,CAAC;AAKjD,OAAO,EAAE,qBAAqB,EAA2B,MAAM,gCAAgC,CAAC;AAChG,OAAO,EAAE,aAAa,EAAyB,MAAM,oBAAoB,CAAC;AAE1E,2DAA2D;AAC3D,eAAO,MAAM,KAAK,wCACqD,CAAC;AACxE,eAAO,MAAM,aAAa,wCAAoF,CAAC;AAK/G,MAAM,MAAM,4BAA4B,GAAG,sBAAsB,GAAG;IAClE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IACxE,qBAAqB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,KAAK,MAAM,CAAC;CAClG,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,sBAAsB,GAAG;IAChE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mBAAmB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;CACzE,CAAC;AAEF,MAAM,WAAW,sBAAuB,SAAQ,QAAQ;IACtD,WAAW,IAAI,QAAQ,CAAC;CACzB;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,IAAI,MAAM,CAAC;IACpB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,+BAA+B;IAC/B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,eAAe,IAAI,YAAY,CAAC;IAChC,QAAQ,CACN,iBAAiB,EAAE,CAAC,MAAM,EAAE,4BAA4B,KAAK,SAAS,EACtE,WAAW,CAAC,EAAE,GAAG,GAChB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC/B,MAAM,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,0BAA0B,KAAK,SAAS,EAAE,WAAW,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjH,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACrE;AAED,qBAAa,EAAE,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC;IAmB9D,OAAO,CAAC,WAAW;IAlBrB,OAAO,CAAC,MAAM,CAAC,eAAe,CAAW;IACzC,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,MAAM,CAA2F;IACzG,OAAO,CAAC,sBAAsB,CAAyB;IACvD,OAAO,CAAC,IAAI,CAAmB;IAC/B,OAAO,CAAC,kBAAkB,CAA+B;IACzD,OAAO,CAAC,yBAAyB,CAAmC;IAC7D,eAAe,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAIhD;gBAGA,QAAQ,CAAC,EAAE,QAAQ,EACnB,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,KAAK,CAAC,GAAG,CAAC,EAC5C,yBAAyB,CAAC,EAAE,gCAAgC,EACpD,WAAW,GAAE,OAAe;IAUtC,MAAM,CAAC,kBAAkB,IAAI,QAAQ;IAiBrC,OAAO,CAAC,mCAAmC;IASrC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrB,WAAW,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAI3D,GAAG,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIzF,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAsB1E,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IA2CjG;;;;;;;;;;OAUG;IACG,qBAAqB,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAkCzG;;;;;;;OAOG;IACG,gBAAgB,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAqC9G,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;YA0B9D,sBAAsB;YAetB,mBAAmB;IAmCjC;;;;;;;;OAQG;YACW,gCAAgC;IA8C9C;;;;;;OAMG;YACW,kCAAkC;IA4DhD;;;;;;;;;OASG;IACG,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;YASrF,MAAM;IAgBpB;;;;;;;;OAQG;YACW,iBAAiB;IA4EzB,WAAW,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;YAcpE,gBAAgB;YAahB,oBAAoB;IASlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAwCzD;;;;;;;;;;;;;OAaG;IACG,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBzD;;;;;;;OAOG;IACH,OAAO,CAAC,aAAa;IAIrB;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,KAAK;CAUd"}
|
package/dist/src/Db.js
CHANGED
|
@@ -49,6 +49,7 @@ exports.Db = exports.getDbAsSystem = exports.getDb = void 0;
|
|
|
49
49
|
var DbService_1 = require("./services/DbService");
|
|
50
50
|
var reflection_1 = require("@proteinjs/reflection");
|
|
51
51
|
var Table_1 = require("./Table");
|
|
52
|
+
var ReverseCascadeEdgeIndex_1 = require("./ReverseCascadeEdgeIndex");
|
|
52
53
|
var Record_1 = require("./Record");
|
|
53
54
|
var logger_1 = require("@proteinjs/logger");
|
|
54
55
|
var SourceRecordLoader_1 = require("./source/SourceRecordLoader");
|
|
@@ -491,104 +492,74 @@ var Db = /** @class */ (function () {
|
|
|
491
492
|
};
|
|
492
493
|
/**
|
|
493
494
|
* Reverse cascades driven by column-level flags on reference columns only.
|
|
495
|
+
* Edges come from the `ReverseCascadeEdgeIndex` (derived once per process from the static
|
|
496
|
+
* table registry) instead of a per-delete scan over every registered table's columns.
|
|
494
497
|
* Supports:
|
|
495
498
|
* - ReferenceColumn
|
|
496
499
|
* - DynamicReferenceColumn
|
|
497
500
|
* - ReferenceArrayColumn (stringified JSON) via LIKE-prefilter + exact check
|
|
498
501
|
*/
|
|
499
502
|
Db.prototype.runColumnReverseCascadeDeletions = function (table, deletedRecords) {
|
|
500
|
-
var _a;
|
|
501
503
|
return __awaiter(this, void 0, void 0, function () {
|
|
502
|
-
var deletedIds, deletedIdSet,
|
|
503
|
-
return __generator(this, function (
|
|
504
|
-
switch (
|
|
504
|
+
var deletedIds, deletedIdSet, _i, _a, edge, referencingTable, columnPropertyName, qb, deleteCount, qb, deleteCount;
|
|
505
|
+
return __generator(this, function (_b) {
|
|
506
|
+
switch (_b.label) {
|
|
505
507
|
case 0:
|
|
506
508
|
deletedIds = deletedRecords.map(function (r) { return r.id; });
|
|
507
509
|
if (deletedIds.length === 0) {
|
|
508
510
|
return [2 /*return*/];
|
|
509
511
|
}
|
|
510
512
|
deletedIdSet = new Set(deletedIds);
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
_f.label = 1;
|
|
513
|
+
_i = 0, _a = ReverseCascadeEdgeIndex_1.ReverseCascadeEdgeIndex.get().getEdges(table.name);
|
|
514
|
+
_b.label = 1;
|
|
514
515
|
case 1:
|
|
515
|
-
if (!(_i <
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
for (_d in _b)
|
|
520
|
-
_c.push(_d);
|
|
521
|
-
_e = 0;
|
|
522
|
-
_f.label = 2;
|
|
523
|
-
case 2:
|
|
524
|
-
if (!(_e < _c.length)) return [3 /*break*/, 12];
|
|
525
|
-
_d = _c[_e];
|
|
526
|
-
if (!(_d in _b)) return [3 /*break*/, 11];
|
|
527
|
-
colPropName = _d;
|
|
528
|
-
col = referencingTable.columns[colPropName];
|
|
529
|
-
// Only act if the column explicitly opted in
|
|
530
|
-
if (!col || col.reverseCascadeDelete !== true) {
|
|
531
|
-
return [3 /*break*/, 11];
|
|
532
|
-
}
|
|
533
|
-
if (!(typeof col.dynamicRefTableColName === 'string' && col.dynamicRefTableColName.length > 0)) return [3 /*break*/, 5];
|
|
534
|
-
dynTableProp = (0, Table_1.getColumnPropertyName)(referencingTable, col.dynamicRefTableColName);
|
|
535
|
-
if (!dynTableProp) {
|
|
536
|
-
return [3 /*break*/, 11];
|
|
537
|
-
}
|
|
516
|
+
if (!(_i < _a.length)) return [3 /*break*/, 10];
|
|
517
|
+
edge = _a[_i];
|
|
518
|
+
referencingTable = edge.referencingTable, columnPropertyName = edge.columnPropertyName;
|
|
519
|
+
if (!(edge.refKind === 'dynamicReference')) return [3 /*break*/, 4];
|
|
538
520
|
qb = new QueryBuilderFactory_1.QueryBuilderFactory().getQueryBuilder(referencingTable);
|
|
539
521
|
return [4 /*yield*/, this.addColumnQueries(referencingTable, qb, 'read')];
|
|
540
|
-
case
|
|
541
|
-
|
|
542
|
-
qb.condition({ field:
|
|
543
|
-
qb.condition({ field:
|
|
522
|
+
case 2:
|
|
523
|
+
_b.sent();
|
|
524
|
+
qb.condition({ field: edge.dynamicRefTableColumnPropertyName, operator: '=', value: table.name });
|
|
525
|
+
qb.condition({ field: columnPropertyName, operator: 'IN', value: deletedIds });
|
|
544
526
|
this.logger.info({
|
|
545
527
|
message: "Executing reverse cascade (dynamic) for table: ".concat(table.name),
|
|
546
|
-
obj: { referencingTable: referencingTable.name, columnPropertyName:
|
|
528
|
+
obj: { referencingTable: referencingTable.name, columnPropertyName: columnPropertyName, deletedIds: deletedIds },
|
|
547
529
|
});
|
|
548
530
|
return [4 /*yield*/, this.delete(referencingTable, qb)];
|
|
549
|
-
case
|
|
550
|
-
deleteCount =
|
|
531
|
+
case 3:
|
|
532
|
+
deleteCount = _b.sent();
|
|
551
533
|
this.logger.info({
|
|
552
534
|
message: "Reverse cascade (dynamic) deleted ".concat(deleteCount, " record").concat(deleteCount == 1 ? '' : 's'),
|
|
553
535
|
});
|
|
554
|
-
return [3 /*break*/,
|
|
555
|
-
case
|
|
556
|
-
|
|
557
|
-
if (col.referenceTable !== table.name) {
|
|
558
|
-
return [3 /*break*/, 11];
|
|
559
|
-
}
|
|
560
|
-
ctorName = (_a = col.constructor) === null || _a === void 0 ? void 0 : _a.name;
|
|
561
|
-
if (!(ctorName === 'ReferenceColumn')) return [3 /*break*/, 8];
|
|
536
|
+
return [3 /*break*/, 9];
|
|
537
|
+
case 4:
|
|
538
|
+
if (!(edge.refKind === 'reference')) return [3 /*break*/, 7];
|
|
562
539
|
qb = new QueryBuilderFactory_1.QueryBuilderFactory().getQueryBuilder(referencingTable);
|
|
563
540
|
return [4 /*yield*/, this.addColumnQueries(referencingTable, qb, 'read')];
|
|
564
|
-
case
|
|
565
|
-
|
|
566
|
-
qb.condition({ field:
|
|
541
|
+
case 5:
|
|
542
|
+
_b.sent();
|
|
543
|
+
qb.condition({ field: columnPropertyName, operator: 'IN', value: deletedIds });
|
|
567
544
|
this.logger.info({
|
|
568
545
|
message: "Executing reverse cascade (ReferenceColumn) for table: ".concat(table.name),
|
|
569
|
-
obj: { referencingTable: referencingTable.name, columnPropertyName:
|
|
546
|
+
obj: { referencingTable: referencingTable.name, columnPropertyName: columnPropertyName, deletedIds: deletedIds },
|
|
570
547
|
});
|
|
571
548
|
return [4 /*yield*/, this.delete(referencingTable, qb)];
|
|
572
|
-
case
|
|
573
|
-
deleteCount =
|
|
549
|
+
case 6:
|
|
550
|
+
deleteCount = _b.sent();
|
|
574
551
|
this.logger.info({
|
|
575
552
|
message: "Reverse cascade (ReferenceColumn) deleted ".concat(deleteCount, " record").concat(deleteCount == 1 ? '' : 's'),
|
|
576
553
|
});
|
|
577
|
-
return [3 /*break*/,
|
|
554
|
+
return [3 /*break*/, 9];
|
|
555
|
+
case 7: return [4 /*yield*/, this.reverseDeleteReferenceArrayHolders(referencingTable, columnPropertyName, deletedIds, deletedIdSet)];
|
|
578
556
|
case 8:
|
|
579
|
-
|
|
580
|
-
|
|
557
|
+
_b.sent();
|
|
558
|
+
_b.label = 9;
|
|
581
559
|
case 9:
|
|
582
|
-
_f.sent();
|
|
583
|
-
return [3 /*break*/, 11];
|
|
584
|
-
case 10: return [3 /*break*/, 11];
|
|
585
|
-
case 11:
|
|
586
|
-
_e++;
|
|
587
|
-
return [3 /*break*/, 2];
|
|
588
|
-
case 12:
|
|
589
560
|
_i++;
|
|
590
561
|
return [3 /*break*/, 1];
|
|
591
|
-
case
|
|
562
|
+
case 10: return [2 /*return*/];
|
|
592
563
|
}
|
|
593
564
|
});
|
|
594
565
|
});
|
package/dist/src/Db.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Db.js","sourceRoot":"","sources":["../../src/Db.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Db.js","sourceRoot":"","sources":["../../src/Db.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,8 +14,17 @@ export interface MigrationSeriesSummary {
|
|
|
14
14
|
skippedManual: string[];
|
|
15
15
|
/** Already in 'success' status — skipped (ensureMigrationRun's idempotence). */
|
|
16
16
|
alreadyApplied: string[];
|
|
17
|
-
/**
|
|
17
|
+
/**
|
|
18
|
+
* Ledger rows with no source record (a loader deleted after its run; the table keeps history) —
|
|
19
|
+
* each one is STAMPED `retired: true` by this run, so a source class that ships again later can
|
|
20
|
+
* never silently re-arm it.
|
|
21
|
+
*/
|
|
18
22
|
unresolved: string[];
|
|
23
|
+
/**
|
|
24
|
+
* Rows that arrived already `retired: true` — never auto-run, even when the source class ships
|
|
25
|
+
* again, until someone un-retires them on the Migrations page.
|
|
26
|
+
*/
|
|
27
|
+
retired: string[];
|
|
19
28
|
/** The failure that stopped the series, if any. */
|
|
20
29
|
failed?: {
|
|
21
30
|
id: string;
|
|
@@ -66,8 +75,10 @@ export declare class MigrationRunner implements MigrationRunnerService {
|
|
|
66
75
|
* class keeps the Migrations-page flow ({@link Migration.manual}).
|
|
67
76
|
* - rows already in 'success' are skipped; any other status is pending — including 'running'
|
|
68
77
|
* (a crashed earlier Job): {@link ensureMigrationRun} re-runs it.
|
|
69
|
-
* - rows with no source record are history (a loader deleted after its run) —
|
|
70
|
-
* reported as `unresolved`.
|
|
78
|
+
* - rows with no source record are history (a loader deleted after its run) — STAMPED
|
|
79
|
+
* `retired: true`, skipped, reported as `unresolved`.
|
|
80
|
+
* - rows with `retired: true` are NEVER auto-run — even if the source class returns in a later
|
|
81
|
+
* build — until un-retired on the Migrations page; skipped, reported as `retired`.
|
|
71
82
|
* - the FIRST failure STOPS the series (later migrations may build on earlier ones). The
|
|
72
83
|
* caller exits non-zero, the Job fails, the rollout does not advance.
|
|
73
84
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MigrationRunner.d.ts","sourceRoot":"","sources":["../../src/MigrationRunner.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAA6B,MAAM,mCAAmC,CAAC;AACtG,OAAO,EAAE,SAAS,EAAkB,MAAM,yBAAyB,CAAC;AAEpE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7C,eAAO,MAAM,kBAAkB,uBACyE,CAAC;AAEzG;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,qCAAqC;IACrC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,mFAAmF;IACnF,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gFAAgF;IAChF,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB
|
|
1
|
+
{"version":3,"file":"MigrationRunner.d.ts","sourceRoot":"","sources":["../../src/MigrationRunner.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAA6B,MAAM,mCAAmC,CAAC;AACtG,OAAO,EAAE,SAAS,EAAkB,MAAM,yBAAyB,CAAC;AAEpE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7C,eAAO,MAAM,kBAAkB,uBACyE,CAAC;AAEzG;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,qCAAqC;IACrC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,mFAAmF;IACnF,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,gFAAgF;IAChF,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;;;OAIG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB;;;OAGG;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,mDAAmD;IACnD,MAAM,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE,8FAA8F;IAC9F,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,qBAAa,eAAgB,YAAW,sBAAsB;IAC5D,OAAO,CAAC,MAAM,CAA+C;IACtD,eAAe,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAQhD;IAEF;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvC;;;;;;;;;;;OAWG;IACG,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAcxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACG,oBAAoB,IAAI,OAAO,CAAC,sBAAsB,CAAC;YA2E/C,YAAY;IA8B1B,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,QAAQ;CA4BjB"}
|
|
@@ -126,8 +126,10 @@ var MigrationRunner = /** @class */ (function () {
|
|
|
126
126
|
* class keeps the Migrations-page flow ({@link Migration.manual}).
|
|
127
127
|
* - rows already in 'success' are skipped; any other status is pending — including 'running'
|
|
128
128
|
* (a crashed earlier Job): {@link ensureMigrationRun} re-runs it.
|
|
129
|
-
* - rows with no source record are history (a loader deleted after its run) —
|
|
130
|
-
* reported as `unresolved`.
|
|
129
|
+
* - rows with no source record are history (a loader deleted after its run) — STAMPED
|
|
130
|
+
* `retired: true`, skipped, reported as `unresolved`.
|
|
131
|
+
* - rows with `retired: true` are NEVER auto-run — even if the source class returns in a later
|
|
132
|
+
* build — until un-retired on the Migrations page; skipped, reported as `retired`.
|
|
131
133
|
* - the FIRST failure STOPS the series (later migrations may build on earlier ones). The
|
|
132
134
|
* caller exits non-zero, the Job fails, the rollout does not advance.
|
|
133
135
|
*
|
|
@@ -159,41 +161,67 @@ var MigrationRunner = /** @class */ (function () {
|
|
|
159
161
|
skippedManual: [],
|
|
160
162
|
alreadyApplied: [],
|
|
161
163
|
unresolved: [],
|
|
164
|
+
retired: [],
|
|
162
165
|
notAttempted: [],
|
|
163
166
|
};
|
|
164
167
|
sourceRecordRepo = new SourceRecordRepo_1.SourceRecordRepo();
|
|
165
168
|
pending = [];
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
169
|
+
_i = 0, ledger_1 = ledger;
|
|
170
|
+
_a.label = 2;
|
|
171
|
+
case 2:
|
|
172
|
+
if (!(_i < ledger_1.length)) return [3 /*break*/, 6];
|
|
173
|
+
row = ledger_1[_i];
|
|
174
|
+
if (row.retired) {
|
|
175
|
+
summary.retired.push(row.id);
|
|
176
|
+
return [3 /*break*/, 5];
|
|
177
|
+
}
|
|
178
|
+
source = sourceRecordRepo.getSourceRecord(migrationTable.name, row.id);
|
|
179
|
+
if (!!source) return [3 /*break*/, 4];
|
|
180
|
+
// Stamp, don't just skip: the ledger must remember the source class was gone. If the
|
|
181
|
+
// class ships again in a later build, the row stays excluded until a human un-retires it
|
|
182
|
+
// on the Migrations page — a returned loader id is not consent to auto-run.
|
|
183
|
+
return [4 /*yield*/, db.update(migrationTable, { id: row.id, retired: true })];
|
|
184
|
+
case 3:
|
|
185
|
+
// Stamp, don't just skip: the ledger must remember the source class was gone. If the
|
|
186
|
+
// class ships again in a later build, the row stays excluded until a human un-retires it
|
|
187
|
+
// on the Migrations page — a returned loader id is not consent to auto-run.
|
|
188
|
+
_a.sent();
|
|
189
|
+
summary.unresolved.push(row.id);
|
|
190
|
+
return [3 /*break*/, 5];
|
|
191
|
+
case 4:
|
|
192
|
+
if (source.manual) {
|
|
193
|
+
summary.skippedManual.push(row.id);
|
|
194
|
+
return [3 /*break*/, 5];
|
|
195
|
+
}
|
|
196
|
+
if (row.status === 'success') {
|
|
197
|
+
summary.alreadyApplied.push(row.id);
|
|
198
|
+
return [3 /*break*/, 5];
|
|
182
199
|
}
|
|
200
|
+
pending.push(row);
|
|
201
|
+
_a.label = 5;
|
|
202
|
+
case 5:
|
|
203
|
+
_i++;
|
|
204
|
+
return [3 /*break*/, 2];
|
|
205
|
+
case 6:
|
|
183
206
|
this.logger.info({
|
|
184
207
|
message: "Running ".concat(pending.length, " pending migration").concat(pending.length === 1 ? '' : 's', " in series, oldest-first"),
|
|
185
|
-
obj: {
|
|
208
|
+
obj: {
|
|
209
|
+
pending: pending.map(function (row) { return row.id; }),
|
|
210
|
+
skippedManual: summary.skippedManual,
|
|
211
|
+
skippedRetired: summary.retired,
|
|
212
|
+
stampedRetired: summary.unresolved,
|
|
213
|
+
},
|
|
186
214
|
});
|
|
187
215
|
i = 0;
|
|
188
|
-
_a.label =
|
|
189
|
-
case
|
|
190
|
-
if (!(i < pending.length)) return [3 /*break*/,
|
|
216
|
+
_a.label = 7;
|
|
217
|
+
case 7:
|
|
218
|
+
if (!(i < pending.length)) return [3 /*break*/, 10];
|
|
191
219
|
return [4 /*yield*/, this.ensureMigrationRun(pending[i].id)];
|
|
192
|
-
case
|
|
220
|
+
case 8:
|
|
193
221
|
outcome = _a.sent();
|
|
194
222
|
if (outcome.status === 'success') {
|
|
195
223
|
summary.applied.push(outcome.id);
|
|
196
|
-
return [3 /*break*/,
|
|
224
|
+
return [3 /*break*/, 9];
|
|
197
225
|
}
|
|
198
226
|
summary.failed = {
|
|
199
227
|
id: outcome.id,
|
|
@@ -201,11 +229,11 @@ var MigrationRunner = /** @class */ (function () {
|
|
|
201
229
|
failureMessage: outcome.failureMessage,
|
|
202
230
|
};
|
|
203
231
|
summary.notAttempted = pending.slice(i + 1).map(function (row) { return row.id; });
|
|
204
|
-
return [3 /*break*/,
|
|
205
|
-
case
|
|
232
|
+
return [3 /*break*/, 10];
|
|
233
|
+
case 9:
|
|
206
234
|
i++;
|
|
207
|
-
return [3 /*break*/,
|
|
208
|
-
case
|
|
235
|
+
return [3 /*break*/, 7];
|
|
236
|
+
case 10:
|
|
209
237
|
this.logger.info({ message: "Migration series finished", obj: summary });
|
|
210
238
|
return [2 /*return*/, summary];
|
|
211
239
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MigrationRunner.js","sourceRoot":"","sources":["../../src/MigrationRunner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAA8C;AAC9C,2BAAgD;AAEhD,8DAA6D;AAC7D,4EAAsG;AACtG,0DAAoE;AACpE,6DAA4D;AAE5D,4CAA2C;AAEpC,IAAM,kBAAkB,GAAG;IAChC,OAAA,OAAO,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC,CAAE,IAAA,kDAAyB,GAAsB;AAAtG,CAAsG,CAAC;AAD5F,QAAA,kBAAkB,sBAC0E;
|
|
1
|
+
{"version":3,"file":"MigrationRunner.js","sourceRoot":"","sources":["../../src/MigrationRunner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Table } from './Table';
|
|
2
|
+
/**
|
|
3
|
+
* One reverse-cascade edge: a column flagged `reverseCascadeDelete: true` whose rows die when
|
|
4
|
+
* the record they point at is deleted. `dynamicReference` edges carry the resolved property
|
|
5
|
+
* name of the sibling column that stores the target table's name per row.
|
|
6
|
+
*/
|
|
7
|
+
export type ReverseCascadeEdge = {
|
|
8
|
+
/** The table holding the flagged column (its rows are the reverse-cascade victims). */
|
|
9
|
+
referencingTable: Table<any>;
|
|
10
|
+
/** Property name of the flagged column on `referencingTable.columns`. */
|
|
11
|
+
columnPropertyName: string;
|
|
12
|
+
/** Position in the registry walk (table order, then column order) — lookups preserve it. */
|
|
13
|
+
order: number;
|
|
14
|
+
} & ({
|
|
15
|
+
refKind: 'reference' | 'referenceArray';
|
|
16
|
+
} | {
|
|
17
|
+
refKind: 'dynamicReference';
|
|
18
|
+
dynamicRefTableColumnPropertyName: string;
|
|
19
|
+
});
|
|
20
|
+
/**
|
|
21
|
+
* Derived in-memory reverse-cascade edge index over the static table registry.
|
|
22
|
+
*
|
|
23
|
+
* Maps the referenced-target dimension (`referencedTableName → [(referencingTable,
|
|
24
|
+
* columnProperty, refKind)]`) for every column flagged `reverseCascadeDelete: true`, so
|
|
25
|
+
* `Db.delete` consults an O(edges-for-target) lookup instead of re-scanning every registered
|
|
26
|
+
* table's columns on every delete. Table definitions are the source of truth and are static
|
|
27
|
+
* per process, so the index is built once — lazily on first use — and never invalidated.
|
|
28
|
+
*
|
|
29
|
+
* Edge derivation mirrors the three reference column shapes:
|
|
30
|
+
* - `ReferenceColumn` / `ReferenceArrayColumn` edges are keyed under their declared
|
|
31
|
+
* `referenceTable` — they can only ever point at that one target.
|
|
32
|
+
* - `DynamicReferenceColumn` edges are target-agnostic (the target table name lives in a
|
|
33
|
+
* sibling column per row), so they apply to every target table and are returned for all
|
|
34
|
+
* lookups; the per-row table-name condition stays in the delete query, exactly as the
|
|
35
|
+
* pre-index scan issued it.
|
|
36
|
+
*/
|
|
37
|
+
export declare class ReverseCascadeEdgeIndex {
|
|
38
|
+
private static instance;
|
|
39
|
+
private edgesByTargetTable;
|
|
40
|
+
private dynamicEdges;
|
|
41
|
+
static get(): ReverseCascadeEdgeIndex;
|
|
42
|
+
/**
|
|
43
|
+
* All reverse-cascade edges that can point at `targetTableName`: the edges keyed under it
|
|
44
|
+
* plus every dynamic (target-agnostic) edge, in the same registry-walk order the pre-index
|
|
45
|
+
* all-tables scan visited them.
|
|
46
|
+
*/
|
|
47
|
+
getEdges(targetTableName: string): ReverseCascadeEdge[];
|
|
48
|
+
private constructor();
|
|
49
|
+
private build;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=ReverseCascadeEdgeIndex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReverseCascadeEdgeIndex.d.ts","sourceRoot":"","sources":["../../src/ReverseCascadeEdgeIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAoC,MAAM,SAAS,CAAC;AAElE;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,uFAAuF;IACvF,gBAAgB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7B,yEAAyE;IACzE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,4FAA4F;IAC5F,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,CACA;IAAE,OAAO,EAAE,WAAW,GAAG,gBAAgB,CAAA;CAAE,GAC3C;IAAE,OAAO,EAAE,kBAAkB,CAAC;IAAC,iCAAiC,EAAE,MAAM,CAAA;CAAE,CAC7E,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAsC;IAC7D,OAAO,CAAC,kBAAkB,CAA2C;IACrE,OAAO,CAAC,YAAY,CAA4B;IAEhD,MAAM,CAAC,GAAG,IAAI,uBAAuB;IAQrC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,kBAAkB,EAAE;IAavD,OAAO;IAIP,OAAO,CAAC,KAAK;CAsDd"}
|