@ftschopp/dynatable-migrations 1.3.0 → 1.3.2
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 +14 -0
- package/dist/cli.js +16 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/unlock.js +1 -1
- package/dist/commands/unlock.js.map +1 -1
- package/dist/core/loader.d.ts +15 -0
- package/dist/core/loader.d.ts.map +1 -1
- package/dist/core/loader.js +21 -0
- package/dist/core/loader.js.map +1 -1
- package/dist/core/runner.d.ts.map +1 -1
- package/dist/core/runner.js +29 -8
- package/dist/core/runner.js.map +1 -1
- package/dist/core/tracker.d.ts +31 -4
- package/dist/core/tracker.d.ts.map +1 -1
- package/dist/core/tracker.js +57 -18
- package/dist/core/tracker.js.map +1 -1
- package/dist/types/index.d.ts +7 -2
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## @ftschopp/dynatable-migrations [1.3.2](https://github.com/ftschopp/dynatable/compare/@ftschopp/dynatable-migrations@1.3.1...@ftschopp/dynatable-migrations@1.3.2) (2026-05-10)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **migrations:** unify tracker timestamps to ISO 8601; add --major/--minor/--patch flags to create ([#47](https://github.com/ftschopp/dynatable/issues/47)) ([24f9bea](https://github.com/ftschopp/dynatable/commit/24f9beac9b0f920561515a7bb86228f34ba67327)), closes [#17](https://github.com/ftschopp/dynatable/issues/17) [#17](https://github.com/ftschopp/dynatable/issues/17)
|
|
7
|
+
|
|
8
|
+
## @ftschopp/dynatable-migrations [1.3.1](https://github.com/ftschopp/dynatable/compare/@ftschopp/dynatable-migrations@1.3.0...@ftschopp/dynatable-migrations@1.3.1) (2026-05-10)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Performance Improvements
|
|
12
|
+
|
|
13
|
+
* **migrations:** cache migration loader and avoid per-step rollback queries ([#43](https://github.com/ftschopp/dynatable/issues/43)) ([38724ef](https://github.com/ftschopp/dynatable/commit/38724efaf8b6c0b52696d4c55a3b9b2c47cc745c))
|
|
14
|
+
|
|
1
15
|
# @ftschopp/dynatable-migrations [1.3.0](https://github.com/ftschopp/dynatable/compare/@ftschopp/dynatable-migrations@1.2.6...@ftschopp/dynatable-migrations@1.3.0) (2026-05-09)
|
|
2
16
|
|
|
3
17
|
|
package/dist/cli.js
CHANGED
|
@@ -36,9 +36,24 @@ program
|
|
|
36
36
|
.description('Create a new migration file')
|
|
37
37
|
.option('-c, --config <path>', 'Path to config file')
|
|
38
38
|
.option('-t, --type <type>', 'Version bump type: major, minor, or patch (default: patch)')
|
|
39
|
+
.option('--major', 'Shortcut for --type major')
|
|
40
|
+
.option('--minor', 'Shortcut for --type minor')
|
|
41
|
+
.option('--patch', 'Shortcut for --type patch')
|
|
39
42
|
.option('-e, --explicit <version>', 'Explicit version (e.g., 2.0.0)')
|
|
40
43
|
.action(async (name, options) => {
|
|
41
44
|
try {
|
|
45
|
+
// Resolve a single bump type from --type and the boolean shortcuts.
|
|
46
|
+
// Reject if more than one shortcut/type was passed so the user notices
|
|
47
|
+
// their own contradiction instead of getting whichever one wins.
|
|
48
|
+
const shortcutFlags = ['major', 'minor', 'patch'].filter((f) => options[f]);
|
|
49
|
+
const sources = [
|
|
50
|
+
...(options.type ? [options.type] : []),
|
|
51
|
+
...shortcutFlags,
|
|
52
|
+
];
|
|
53
|
+
if (sources.length > 1) {
|
|
54
|
+
throw new Error(`Conflicting bump options: ${sources.join(', ')}. Pass only one of --type, --major, --minor, --patch.`);
|
|
55
|
+
}
|
|
56
|
+
const bumpType = sources[0];
|
|
42
57
|
let migrationsDir = './migrations';
|
|
43
58
|
// Try to load config to get migrations directory
|
|
44
59
|
try {
|
|
@@ -48,7 +63,7 @@ program
|
|
|
48
63
|
catch {
|
|
49
64
|
// If config doesn't exist, use default
|
|
50
65
|
}
|
|
51
|
-
await (0, create_1.createMigration)(name, migrationsDir,
|
|
66
|
+
await (0, create_1.createMigration)(name, migrationsDir, bumpType, options.explicit);
|
|
52
67
|
}
|
|
53
68
|
catch (error) {
|
|
54
69
|
console.error(`Error: ${error.message}`);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,0CAA2C;AAC3C,8CAAoD;AACpD,sCAA8C;AAC9C,0CAAqD;AACrD,8CAA+C;AAC/C,0CAA8C;AAC9C,8CAAgD;AAChD,2CAA+C;AAE/C,iCAAiC;AACjC,MAAM,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE/C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,mBAAmB,CAAC;KACzB,WAAW,CAAC,iDAAiD,CAAC;KAC9D,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAEhC,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,0CAA0C,CAAC;KACvD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,IAAI,CAAC;QACH,MAAM,IAAA,kBAAW,GAAE,CAAC;IACtB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,6BAA6B,CAAC;KAC1C,MAAM,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;KACpD,MAAM,CAAC,mBAAmB,EAAE,4DAA4D,CAAC;KACzF,MAAM,CAAC,0BAA0B,EAAE,gCAAgC,CAAC;KACpE,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,OAAO,EAAE,EAAE;IACtC,IAAI,CAAC;QACH,IAAI,aAAa,GAAG,cAAc,CAAC;QAEnC,iDAAiD;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,mBAAU,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAChD,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,cAAc,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,uCAAuC;QACzC,CAAC;QAED,MAAM,IAAA,wBAAe,EAAC,IAAI,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/unlock.js
CHANGED
|
@@ -72,7 +72,7 @@ async function forceUnlock(config, yes = false) {
|
|
|
72
72
|
console.log(`\n⚠️ Force-unlock will delete the migration lock on "${config.tableName}":`);
|
|
73
73
|
console.log(` lockId: ${lockId}`);
|
|
74
74
|
console.log(` acquiredAt: ${acquiredAt}`);
|
|
75
|
-
console.log(` expiresAt: ${expiresAt}
|
|
75
|
+
console.log(` expiresAt: ${expiresAt}`);
|
|
76
76
|
console.log('\n Only run this if you are certain the lock owner is no longer running.');
|
|
77
77
|
if (!yes) {
|
|
78
78
|
const ok = await confirm(' Proceed? [y/N] ');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unlock.js","sourceRoot":"","sources":["../../src/commands/unlock.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,kCAsCC;AA5DD,mDAAqC;AACrC,wDAAkE;AAClE,2CAAsD;AAGtD,KAAK,UAAU,OAAO,CAAC,MAAc;IACnC,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;YACnD,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,WAAW,CAAC,MAAuB,EAAE,MAAe,KAAK;IAC7E,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,iBAAiB,CAAC;IAClE,MAAM,OAAO,GAAG;QACd,EAAE,EAAE,GAAG,cAAc,OAAO;QAC5B,EAAE,EAAE,GAAG,cAAc,OAAO;KAC7B,CAAC;IAEF,MAAM,MAAM,GAAG,IAAA,6BAAoB,EAAC,MAAM,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAChC,IAAI,yBAAU,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAC9D,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,WAAW,CAAC;IAC3D,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,WAAW,CAAC;IACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC;IAEnD,OAAO,CAAC,GAAG,CAAC,yDAAyD,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;IAC3F,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,kBAAkB,UAAU,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,kBAAkB,SAAS,
|
|
1
|
+
{"version":3,"file":"unlock.js","sourceRoot":"","sources":["../../src/commands/unlock.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,kCAsCC;AA5DD,mDAAqC;AACrC,wDAAkE;AAClE,2CAAsD;AAGtD,KAAK,UAAU,OAAO,CAAC,MAAc;IACnC,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;YACnD,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,WAAW,CAAC,MAAuB,EAAE,MAAe,KAAK;IAC7E,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,iBAAiB,CAAC;IAClE,MAAM,OAAO,GAAG;QACd,EAAE,EAAE,GAAG,cAAc,OAAO;QAC5B,EAAE,EAAE,GAAG,cAAc,OAAO;KAC7B,CAAC;IAEF,MAAM,MAAM,GAAG,IAAA,6BAAoB,EAAC,MAAM,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAChC,IAAI,yBAAU,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAC9D,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAClE,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,WAAW,CAAC;IAC3D,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,IAAI,WAAW,CAAC;IACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC;IAEnD,OAAO,CAAC,GAAG,CAAC,yDAAyD,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;IAC3F,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,EAAE,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,kBAAkB,UAAU,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,kBAAkB,SAAS,EAAE,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC;IAE1F,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAC/C,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,4BAAa,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AACrC,CAAC"}
|
package/dist/core/loader.d.ts
CHANGED
|
@@ -4,11 +4,26 @@ import { MigrationFile } from '../types';
|
|
|
4
4
|
*/
|
|
5
5
|
export declare class MigrationLoader {
|
|
6
6
|
private migrationsDir;
|
|
7
|
+
/**
|
|
8
|
+
* Memoized result of `loadMigrations()`. Set on first successful load and
|
|
9
|
+
* reused for the lifetime of the loader instance. The runner consults the
|
|
10
|
+
* loader many times per command (per-version checksum check, per-rollback
|
|
11
|
+
* lookup, status display) — without this, each call re-runs `readdirSync`,
|
|
12
|
+
* re-imports every migration module, and re-md5s every file, turning an
|
|
13
|
+
* O(N) operation into O(N²) in IO and require()s. Call `invalidateCache()`
|
|
14
|
+
* if you need to pick up newly-added files mid-process.
|
|
15
|
+
*/
|
|
16
|
+
private cachedMigrations;
|
|
7
17
|
constructor(migrationsDir: string);
|
|
8
18
|
/**
|
|
9
19
|
* Calculate checksum of a file
|
|
10
20
|
*/
|
|
11
21
|
calculateChecksum(filePath: string): string;
|
|
22
|
+
/**
|
|
23
|
+
* Drop the in-memory cache so the next `loadMigrations()` call re-reads
|
|
24
|
+
* the directory. Use after generating a new migration file mid-process.
|
|
25
|
+
*/
|
|
26
|
+
invalidateCache(): void;
|
|
12
27
|
/**
|
|
13
28
|
* Load all migration files
|
|
14
29
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/core/loader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAa,aAAa,EAAE,MAAM,UAAU,CAAC;AAwBpD;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,aAAa,CAAS;
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/core/loader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAa,aAAa,EAAE,MAAM,UAAU,CAAC;AAwBpD;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,aAAa,CAAS;IAC9B;;;;;;;;OAQG;IACH,OAAO,CAAC,gBAAgB,CAAgC;gBAE5C,aAAa,EAAE,MAAM;IAIjC;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAK3C;;;OAGG;IACH,eAAe,IAAI,IAAI;IAIvB;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAuChD;;OAEG;YACW,aAAa;IA4D3B;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;IAkCtB;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAKhC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAkB9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;OAEG;IACG,oBAAoB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAK/E;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAKlE;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;CA6BxC"}
|
package/dist/core/loader.js
CHANGED
|
@@ -63,6 +63,16 @@ function categorizeLoadError(error) {
|
|
|
63
63
|
*/
|
|
64
64
|
class MigrationLoader {
|
|
65
65
|
constructor(migrationsDir) {
|
|
66
|
+
/**
|
|
67
|
+
* Memoized result of `loadMigrations()`. Set on first successful load and
|
|
68
|
+
* reused for the lifetime of the loader instance. The runner consults the
|
|
69
|
+
* loader many times per command (per-version checksum check, per-rollback
|
|
70
|
+
* lookup, status display) — without this, each call re-runs `readdirSync`,
|
|
71
|
+
* re-imports every migration module, and re-md5s every file, turning an
|
|
72
|
+
* O(N) operation into O(N²) in IO and require()s. Call `invalidateCache()`
|
|
73
|
+
* if you need to pick up newly-added files mid-process.
|
|
74
|
+
*/
|
|
75
|
+
this.cachedMigrations = null;
|
|
66
76
|
this.migrationsDir = migrationsDir;
|
|
67
77
|
}
|
|
68
78
|
/**
|
|
@@ -72,10 +82,20 @@ class MigrationLoader {
|
|
|
72
82
|
const content = fs.readFileSync(filePath, 'utf-8');
|
|
73
83
|
return crypto.createHash('md5').update(content).digest('hex');
|
|
74
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* Drop the in-memory cache so the next `loadMigrations()` call re-reads
|
|
87
|
+
* the directory. Use after generating a new migration file mid-process.
|
|
88
|
+
*/
|
|
89
|
+
invalidateCache() {
|
|
90
|
+
this.cachedMigrations = null;
|
|
91
|
+
}
|
|
75
92
|
/**
|
|
76
93
|
* Load all migration files
|
|
77
94
|
*/
|
|
78
95
|
async loadMigrations() {
|
|
96
|
+
if (this.cachedMigrations) {
|
|
97
|
+
return this.cachedMigrations;
|
|
98
|
+
}
|
|
79
99
|
if (!fs.existsSync(this.migrationsDir)) {
|
|
80
100
|
throw new Error(`Migrations directory not found: ${this.migrationsDir}`);
|
|
81
101
|
}
|
|
@@ -98,6 +118,7 @@ class MigrationLoader {
|
|
|
98
118
|
migrations.push(migration);
|
|
99
119
|
}
|
|
100
120
|
}
|
|
121
|
+
this.cachedMigrations = migrations;
|
|
101
122
|
return migrations;
|
|
102
123
|
}
|
|
103
124
|
/**
|
package/dist/core/loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/core/loader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAC7B,+CAAiC;AAEjC,qCAAyC;AAEzC;;;;;;GAMG;AACH,SAAS,mBAAmB,CAAC,KAAc;IACzC,MAAM,CAAC,GAAG,KAAkE,CAAC;IAC7E,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC;IACrB,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC;IACrB,MAAM,GAAG,GAAG,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;IAC7B,IAAI,IAAI,KAAK,kBAAkB,IAAI,IAAI,KAAK,sBAAsB,EAAE,CAAC;QACnE,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IACD,IAAI,IAAI,KAAK,aAAa,IAAI,8BAA8B,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACvE,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAa,eAAe;
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/core/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAa/D,OAAO,EAAE,eAAe,EAAoB,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAM7F,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,MAAM,CAAkB;gBAEpB,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,eAAe;IAOnE;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC;;OAEG;IACG,EAAE,CAAC,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAa/D,OAAO,EAAE,eAAe,EAAoB,aAAa,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAM7F,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,MAAM,CAAkB;gBAEpB,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,eAAe;IAOnE;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC;;OAEG;IACG,EAAE,CAAC,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAmH5D;;OAEG;IACG,IAAI,CAAC,KAAK,GAAE,MAAU,EAAE,MAAM,GAAE,OAAe,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA6FhF;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IA6B1C;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKjD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAa5B;;OAEG;IACH,OAAO,CAAC,aAAa;CAoBtB"}
|
package/dist/core/runner.js
CHANGED
|
@@ -43,15 +43,23 @@ class MigrationRunner {
|
|
|
43
43
|
const appliedVersions = appliedMigrations
|
|
44
44
|
.filter((m) => m.status === 'applied')
|
|
45
45
|
.map((m) => m.version);
|
|
46
|
+
// Load every migration once and index by version. Without this, the
|
|
47
|
+
// checksum-mismatch loop below would call `loader.getMigration(...)`
|
|
48
|
+
// for each applied migration — and each of those re-reads the
|
|
49
|
+
// directory and re-imports every file. The loader caches the result
|
|
50
|
+
// internally, but going through a Map here also flattens the per-call
|
|
51
|
+
// microtask overhead.
|
|
52
|
+
const allMigrations = await this.loader.loadMigrations();
|
|
53
|
+
const migrationByVersion = new Map(allMigrations.map((m) => [m.version, m]));
|
|
46
54
|
// Check for checksum mismatches on applied migrations
|
|
47
55
|
for (const applied of appliedMigrations.filter((m) => m.status === 'applied')) {
|
|
48
|
-
const file =
|
|
56
|
+
const file = migrationByVersion.get(applied.version);
|
|
49
57
|
if (file && applied.checksum && file.checksum !== applied.checksum) {
|
|
50
58
|
console.warn(`⚠️ Warning: Migration ${applied.version} has been modified since it was applied. ` +
|
|
51
59
|
`Original checksum: ${applied.checksum}, Current: ${file.checksum}`);
|
|
52
60
|
}
|
|
53
61
|
}
|
|
54
|
-
let pendingMigrations =
|
|
62
|
+
let pendingMigrations = allMigrations.filter((m) => !appliedVersions.includes(m.version));
|
|
55
63
|
// Apply limit if specified
|
|
56
64
|
if (limit) {
|
|
57
65
|
pendingMigrations = pendingMigrations.slice(0, limit);
|
|
@@ -119,10 +127,14 @@ class MigrationRunner {
|
|
|
119
127
|
}
|
|
120
128
|
try {
|
|
121
129
|
const appliedMigrations = await this.tracker.getAppliedMigrations();
|
|
122
|
-
|
|
130
|
+
// Full applied list, semver-descending. We need the whole thing (not
|
|
131
|
+
// just the slice we're about to roll back) so we can tell the tracker
|
|
132
|
+
// what version the CURRENT pointer should fall back to after each
|
|
133
|
+
// step — without making it re-Query the migration history every time.
|
|
134
|
+
const allApplied = appliedMigrations
|
|
123
135
|
.filter((m) => m.status === 'applied')
|
|
124
|
-
.sort((a, b) => (0, semver_1.compareSemver)(b.version, a.version))
|
|
125
|
-
|
|
136
|
+
.sort((a, b) => (0, semver_1.compareSemver)(b.version, a.version));
|
|
137
|
+
const applied = allApplied.slice(0, steps);
|
|
126
138
|
if (applied.length === 0) {
|
|
127
139
|
console.log('✅ No migrations to rollback');
|
|
128
140
|
return [];
|
|
@@ -136,17 +148,26 @@ class MigrationRunner {
|
|
|
136
148
|
return [];
|
|
137
149
|
}
|
|
138
150
|
console.log(`\n📦 Rolling back ${applied.length} migration(s)\n`);
|
|
151
|
+
// Load every migration once. The loader caches internally, but routing
|
|
152
|
+
// through a Map here keeps the hot loop free of per-call awaits.
|
|
153
|
+
const allMigrations = await this.loader.loadMigrations();
|
|
154
|
+
const migrationByVersion = new Map(allMigrations.map((m) => [m.version, m]));
|
|
139
155
|
const rolledBack = [];
|
|
140
|
-
for (
|
|
156
|
+
for (let i = 0; i < applied.length; i++) {
|
|
157
|
+
const record = applied[i];
|
|
141
158
|
try {
|
|
142
|
-
const migrationFile =
|
|
159
|
+
const migrationFile = migrationByVersion.get(record.version);
|
|
143
160
|
if (!migrationFile) {
|
|
144
161
|
throw new Error(`Migration file not found for version ${record.version}`);
|
|
145
162
|
}
|
|
146
163
|
console.log(`⬇️ Rolling back ${migrationFile.version}: ${migrationFile.name}`);
|
|
147
164
|
const context = this.createContext();
|
|
148
165
|
await migrationFile.migration.down(context);
|
|
149
|
-
|
|
166
|
+
// After rolling this one back, the new CURRENT is whatever applied
|
|
167
|
+
// version sits one slot deeper in `allApplied`. If we've consumed
|
|
168
|
+
// the whole list, fall back to v0000 (no schema applied).
|
|
169
|
+
const previousVersion = allApplied[i + 1]?.version ?? 'v0000';
|
|
170
|
+
await this.tracker.markAsRolledBack(migrationFile.version, previousVersion);
|
|
150
171
|
console.log(`✅ Rolled back ${migrationFile.version}: ${migrationFile.name}\n`);
|
|
151
172
|
rolledBack.push(migrationFile);
|
|
152
173
|
}
|
package/dist/core/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":";;;AACA,wDAW+B;AAE/B,uCAAqD;AACrD,qCAA2C;AAC3C,qCAAyC;AACzC,qDAAsD;AAOtD,MAAa,eAAe;IAM1B,YAAY,MAA8B,EAAE,MAAuB;QACjE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,IAAI,kCAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,MAAM,GAAG,IAAI,wBAAe,CAAC,MAAM,CAAC,aAAa,IAAI,cAAc,CAAC,CAAC;IAC5E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,EAAE,CAAC,UAAsB,EAAE;QAC/B,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;QAE1C,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CACb,yDAAyD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CACnF,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAExB,8BAA8B;QAC9B,IAAI,aAAuC,CAAC;QAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YACtD,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CACb,0EAA0E;oBACxE,oEAAoE,CACvE,CAAC;YACJ,CAAC;YACD,aAAa,GAAG,IAAA,mCAAkB,EAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;YACpE,MAAM,eAAe,GAAG,iBAAiB;iBACtC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC;iBACrC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAEzB,sDAAsD;YACtD,KAAK,MAAM,OAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,EAAE,CAAC;gBAC9E,MAAM,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"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"}
|
package/dist/core/tracker.d.ts
CHANGED
|
@@ -18,7 +18,19 @@ export declare class DynamoDBMigrationTracker implements MigrationTracker {
|
|
|
18
18
|
private lockOwnershipCheck;
|
|
19
19
|
initialize(): Promise<void>;
|
|
20
20
|
/**
|
|
21
|
-
* Acquire a distributed lock to prevent concurrent migrations
|
|
21
|
+
* Acquire a distributed lock to prevent concurrent migrations.
|
|
22
|
+
*
|
|
23
|
+
* `expiresAt` is stored as an ISO 8601 string for consistency with every
|
|
24
|
+
* other timestamp in the tracker (`appliedAt`, `updatedAt`, `failedAt`,
|
|
25
|
+
* `rolledBackAt`, `acquiredAt`). ISO 8601 is lexicographically ordered the
|
|
26
|
+
* same way it's chronologically ordered, so the `<=` condition still
|
|
27
|
+
* compares correctly.
|
|
28
|
+
*
|
|
29
|
+
* **Upgrade note:** earlier versions stored `expiresAt` as a number
|
|
30
|
+
* (millis). A stale numeric lock written by an older client cannot be
|
|
31
|
+
* compared against the new ISO `:now` value (DynamoDB rejects mixed-type
|
|
32
|
+
* comparisons), so an in-flight numeric lock will block new acquisitions
|
|
33
|
+
* until cleared via `dynatable-migrate unlock --force`.
|
|
22
34
|
*/
|
|
23
35
|
acquireLock(): Promise<boolean>;
|
|
24
36
|
/**
|
|
@@ -33,7 +45,14 @@ export declare class DynamoDBMigrationTracker implements MigrationTracker {
|
|
|
33
45
|
*/
|
|
34
46
|
releaseLock(): Promise<void>;
|
|
35
47
|
/**
|
|
36
|
-
* Get all applied migrations with pagination support
|
|
48
|
+
* Get all applied migrations with pagination support.
|
|
49
|
+
*
|
|
50
|
+
* Projects only the lightweight bookkeeping fields — the heavy
|
|
51
|
+
* `schemaDefinition` and `schemaChanges` blobs are intentionally omitted,
|
|
52
|
+
* because no internal caller reads them and including them blows up the
|
|
53
|
+
* 1MB-per-page budget (and consumed RCU) on tables with many migrations.
|
|
54
|
+
* If a future caller needs the full record, fetch by version with
|
|
55
|
+
* `getMigration(version)`.
|
|
37
56
|
*/
|
|
38
57
|
getAppliedMigrations(): Promise<MigrationRecord[]>;
|
|
39
58
|
getCurrentVersion(): Promise<string | null>;
|
|
@@ -57,9 +76,17 @@ export declare class DynamoDBMigrationTracker implements MigrationTracker {
|
|
|
57
76
|
*/
|
|
58
77
|
private handleMarkAsAppliedCancellation;
|
|
59
78
|
/**
|
|
60
|
-
* Mark migration as rolled back using TransactWrite for atomicity
|
|
79
|
+
* Mark migration as rolled back using TransactWrite for atomicity.
|
|
80
|
+
*
|
|
81
|
+
* @param previousVersion Optional. The version the CURRENT pointer should
|
|
82
|
+
* move to after this rollback. When the caller already knows it (the
|
|
83
|
+
* runner does — it loaded the applied list once at the top of `down()`),
|
|
84
|
+
* passing it here skips a `getAppliedMigrations()` Query per rollback.
|
|
85
|
+
* Without this hint, a multi-step rollback was N×(paginated Query of
|
|
86
|
+
* the entire migration history). When omitted, the tracker falls back
|
|
87
|
+
* to looking it up.
|
|
61
88
|
*/
|
|
62
|
-
markAsRolledBack(version: string): Promise<void>;
|
|
89
|
+
markAsRolledBack(version: string, previousVersion?: string): Promise<void>;
|
|
63
90
|
markAsFailed(version: string, error: string): Promise<void>;
|
|
64
91
|
recordSchemaChange(change: SchemaChange): Promise<void>;
|
|
65
92
|
getMigration(version: string): Promise<MigrationRecord | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../../src/core/tracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAS/D,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAI5F,oFAAoF;AACpF,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C,qBAAa,wBAAyB,YAAW,gBAAgB;IAC/D,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAuB;IACrC,iDAAiD;IACjD,SAAgB,cAAc,EAAE,MAAM,CAAC;gBAE3B,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,eAAe;IAQnE,OAAO,KAAK,OAAO,GAKlB;IAED,wEAAwE;IACxE,OAAO,CAAC,WAAW;IASnB,gFAAgF;IAChF,OAAO,CAAC,kBAAkB;IAcpB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BjC
|
|
1
|
+
{"version":3,"file":"tracker.d.ts","sourceRoot":"","sources":["../../src/core/tracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAS/D,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAI5F,oFAAoF;AACpF,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C,qBAAa,wBAAyB,YAAW,gBAAgB;IAC/D,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAuB;IACrC,iDAAiD;IACjD,SAAgB,cAAc,EAAE,MAAM,CAAC;gBAE3B,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,eAAe;IAQnE,OAAO,KAAK,OAAO,GAKlB;IAED,wEAAwE;IACxE,OAAO,CAAC,WAAW;IASnB,gFAAgF;IAChF,OAAO,CAAC,kBAAkB;IAcpB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BjC;;;;;;;;;;;;;;OAcG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAkCrC;;;;;OAKG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAmBlC;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAyBlC;;;;;;;;;OASG;IACG,oBAAoB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAgClD,iBAAiB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAcjD;;;OAGG;IACG,aAAa,CACjB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACtC,aAAa,CAAC,EAAE,YAAY,EAAE,EAC9B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;IA2HhB;;;;;;;;;;;;OAYG;YACW,+BAA+B;IA2B7C;;;;;;;;;;OAUG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0D1E,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8D3D,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCvD,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAc9D,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAInD"}
|
package/dist/core/tracker.js
CHANGED
|
@@ -72,11 +72,24 @@ class DynamoDBMigrationTracker {
|
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
74
|
/**
|
|
75
|
-
* Acquire a distributed lock to prevent concurrent migrations
|
|
75
|
+
* Acquire a distributed lock to prevent concurrent migrations.
|
|
76
|
+
*
|
|
77
|
+
* `expiresAt` is stored as an ISO 8601 string for consistency with every
|
|
78
|
+
* other timestamp in the tracker (`appliedAt`, `updatedAt`, `failedAt`,
|
|
79
|
+
* `rolledBackAt`, `acquiredAt`). ISO 8601 is lexicographically ordered the
|
|
80
|
+
* same way it's chronologically ordered, so the `<=` condition still
|
|
81
|
+
* compares correctly.
|
|
82
|
+
*
|
|
83
|
+
* **Upgrade note:** earlier versions stored `expiresAt` as a number
|
|
84
|
+
* (millis). A stale numeric lock written by an older client cannot be
|
|
85
|
+
* compared against the new ISO `:now` value (DynamoDB rejects mixed-type
|
|
86
|
+
* comparisons), so an in-flight numeric lock will block new acquisitions
|
|
87
|
+
* until cleared via `dynatable-migrate unlock --force`.
|
|
76
88
|
*/
|
|
77
89
|
async acquireLock() {
|
|
78
90
|
const now = Date.now();
|
|
79
|
-
const
|
|
91
|
+
const nowIso = new Date(now).toISOString();
|
|
92
|
+
const expiresAtIso = new Date(now + this.lockTtlSeconds * 1000).toISOString();
|
|
80
93
|
this.lockId = `lock-${now}-${Math.random().toString(36).substring(7)}`;
|
|
81
94
|
try {
|
|
82
95
|
await this.client.send(new lib_dynamodb_1.PutCommand({
|
|
@@ -84,14 +97,14 @@ class DynamoDBMigrationTracker {
|
|
|
84
97
|
Item: {
|
|
85
98
|
...this.lockKey,
|
|
86
99
|
lockId: this.lockId,
|
|
87
|
-
acquiredAt:
|
|
88
|
-
expiresAt,
|
|
100
|
+
acquiredAt: nowIso,
|
|
101
|
+
expiresAt: expiresAtIso,
|
|
89
102
|
},
|
|
90
103
|
// Only succeed if lock doesn't exist or has expired. The `<=`
|
|
91
104
|
// covers the boundary where two clocks read the exact ms.
|
|
92
105
|
ConditionExpression: 'attribute_not_exists(PK) OR expiresAt <= :now',
|
|
93
106
|
ExpressionAttributeValues: {
|
|
94
|
-
':now':
|
|
107
|
+
':now': nowIso,
|
|
95
108
|
},
|
|
96
109
|
}));
|
|
97
110
|
return true;
|
|
@@ -113,14 +126,14 @@ class DynamoDBMigrationTracker {
|
|
|
113
126
|
async refreshLock() {
|
|
114
127
|
if (!this.lockId)
|
|
115
128
|
return;
|
|
116
|
-
const
|
|
129
|
+
const newExpiresAtIso = new Date(Date.now() + this.lockTtlSeconds * 1000).toISOString();
|
|
117
130
|
await this.client.send(new lib_dynamodb_1.UpdateCommand({
|
|
118
131
|
TableName: this.tableName,
|
|
119
132
|
Key: this.lockKey,
|
|
120
133
|
UpdateExpression: 'SET expiresAt = :exp',
|
|
121
134
|
ConditionExpression: 'lockId = :lockId',
|
|
122
135
|
ExpressionAttributeValues: {
|
|
123
|
-
':exp':
|
|
136
|
+
':exp': newExpiresAtIso,
|
|
124
137
|
':lockId': this.lockId,
|
|
125
138
|
},
|
|
126
139
|
}));
|
|
@@ -153,7 +166,14 @@ class DynamoDBMigrationTracker {
|
|
|
153
166
|
}
|
|
154
167
|
}
|
|
155
168
|
/**
|
|
156
|
-
* Get all applied migrations with pagination support
|
|
169
|
+
* Get all applied migrations with pagination support.
|
|
170
|
+
*
|
|
171
|
+
* Projects only the lightweight bookkeeping fields — the heavy
|
|
172
|
+
* `schemaDefinition` and `schemaChanges` blobs are intentionally omitted,
|
|
173
|
+
* because no internal caller reads them and including them blows up the
|
|
174
|
+
* 1MB-per-page budget (and consumed RCU) on tables with many migrations.
|
|
175
|
+
* If a future caller needs the full record, fetch by version with
|
|
176
|
+
* `getMigration(version)`.
|
|
157
177
|
*/
|
|
158
178
|
async getAppliedMigrations() {
|
|
159
179
|
const items = [];
|
|
@@ -162,6 +182,14 @@ class DynamoDBMigrationTracker {
|
|
|
162
182
|
const result = await this.client.send(new lib_dynamodb_1.QueryCommand({
|
|
163
183
|
TableName: this.tableName,
|
|
164
184
|
KeyConditionExpression: 'PK = :pk',
|
|
185
|
+
// `name` and `status` are DynamoDB reserved words; alias them.
|
|
186
|
+
ProjectionExpression: 'PK, SK, version, #name, #status, appliedAt, #ts, #err, checksum, failedAt, rolledBackAt, description',
|
|
187
|
+
ExpressionAttributeNames: {
|
|
188
|
+
'#name': 'name',
|
|
189
|
+
'#status': 'status',
|
|
190
|
+
'#ts': 'timestamp',
|
|
191
|
+
'#err': 'error',
|
|
192
|
+
},
|
|
165
193
|
ExpressionAttributeValues: {
|
|
166
194
|
':pk': this.trackingPrefix,
|
|
167
195
|
},
|
|
@@ -336,17 +364,28 @@ class DynamoDBMigrationTracker {
|
|
|
336
364
|
throw err;
|
|
337
365
|
}
|
|
338
366
|
/**
|
|
339
|
-
* Mark migration as rolled back using TransactWrite for atomicity
|
|
367
|
+
* Mark migration as rolled back using TransactWrite for atomicity.
|
|
368
|
+
*
|
|
369
|
+
* @param previousVersion Optional. The version the CURRENT pointer should
|
|
370
|
+
* move to after this rollback. When the caller already knows it (the
|
|
371
|
+
* runner does — it loaded the applied list once at the top of `down()`),
|
|
372
|
+
* passing it here skips a `getAppliedMigrations()` Query per rollback.
|
|
373
|
+
* Without this hint, a multi-step rollback was N×(paginated Query of
|
|
374
|
+
* the entire migration history). When omitted, the tracker falls back
|
|
375
|
+
* to looking it up.
|
|
340
376
|
*/
|
|
341
|
-
async markAsRolledBack(version) {
|
|
377
|
+
async markAsRolledBack(version, previousVersion) {
|
|
342
378
|
this.requireLock();
|
|
343
379
|
const now = new Date().toISOString();
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
380
|
+
let resolvedPrevious = previousVersion;
|
|
381
|
+
if (resolvedPrevious === undefined) {
|
|
382
|
+
// Find previous version
|
|
383
|
+
const migrations = await this.getAppliedMigrations();
|
|
384
|
+
const appliedMigrations = migrations
|
|
385
|
+
.filter((m) => m.status === 'applied' && m.version !== version)
|
|
386
|
+
.sort((a, b) => (0, semver_1.compareSemver)(b.version, a.version));
|
|
387
|
+
resolvedPrevious = appliedMigrations[0]?.version || 'v0000';
|
|
388
|
+
}
|
|
350
389
|
// Use TransactWrite to atomically update record and pointer
|
|
351
390
|
await this.client.send(new lib_dynamodb_1.TransactWriteCommand({
|
|
352
391
|
TransactItems: [
|
|
@@ -377,9 +416,9 @@ class DynamoDBMigrationTracker {
|
|
|
377
416
|
},
|
|
378
417
|
UpdateExpression: 'SET currentVersion = :version, updatedAt = :updatedAt, GSI1SK = :gsi1sk',
|
|
379
418
|
ExpressionAttributeValues: {
|
|
380
|
-
':version':
|
|
419
|
+
':version': resolvedPrevious,
|
|
381
420
|
':updatedAt': now,
|
|
382
|
-
':gsi1sk':
|
|
421
|
+
':gsi1sk': resolvedPrevious,
|
|
383
422
|
},
|
|
384
423
|
},
|
|
385
424
|
},
|
package/dist/core/tracker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracker.js","sourceRoot":"","sources":["../../src/core/tracker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tracker.js","sourceRoot":"","sources":["../../src/core/tracker.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -136,9 +136,14 @@ export interface MigrationTracker {
|
|
|
136
136
|
*/
|
|
137
137
|
markAsApplied(version: string, name: string, schemaDefinition?: Record<string, any>, schemaChanges?: SchemaChange[], checksum?: string): Promise<void>;
|
|
138
138
|
/**
|
|
139
|
-
* Mark migration as rolled back
|
|
139
|
+
* Mark migration as rolled back.
|
|
140
|
+
*
|
|
141
|
+
* `previousVersion` is an optional perf hint: if the caller already knows
|
|
142
|
+
* the applied version that should become the new CURRENT pointer, passing
|
|
143
|
+
* it here avoids a redundant lookup of the full migration history. When
|
|
144
|
+
* omitted, the implementation looks it up.
|
|
140
145
|
*/
|
|
141
|
-
markAsRolledBack(version: string): Promise<void>;
|
|
146
|
+
markAsRolledBack(version: string, previousVersion?: string): Promise<void>;
|
|
142
147
|
/**
|
|
143
148
|
* Mark migration as failed
|
|
144
149
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|