@rudderhq/db 0.7.23-canary.2 → 0.7.23-canary.4
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-manifest.d.ts","sourceRoot":"","sources":["../src/migration-manifest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"migration-manifest.d.ts","sourceRoot":"","sources":["../src/migration-manifest.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,0BAA0B,EAAG,CAAU,CAAC;AAErD,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC;IACvC,OAAO,EAAE,OAAO,0BAA0B,CAAC;IAC3C,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC3C,SAAS,EAAE,QAAQ,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,SAAS,QAAQ,CAAC;YACzB,GAAG,EAAE,MAAM,CAAC;YACZ,OAAO,EAAE,MAAM,CAAC;YAChB,IAAI,EAAE,MAAM,CAAC;YACb,GAAG,EAAE,MAAM,CAAC;YACZ,WAAW,EAAE,OAAO,CAAC;YACrB,cAAc,EAAE,MAAM,CAAC;SACxB,CAAC,EAAE,CAAC;QACL,QAAQ,EAAE,SAAS,QAAQ,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,CAAC,EAAE,CAAC;KAC1E,CAAC,CAAC;CACJ,CAAC,CAAC;AAEH,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAAC;IACjD,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,SAAS,sBAAsB,EAAE,CAAC;CACjD,CAAC,CAAC;AAcH,MAAM,MAAM,8BAA8B,GAAG;IAC3C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAyDF,wBAAsB,uBAAuB,CAC3C,OAAO,GAAE,8BAAmC,GAC3C,OAAO,CAAC,iBAAiB,CAAC,CAsG5B;AAED,wBAAgB,kCAAkC,CAChD,QAAQ,EAAE,iBAAiB,GAC1B,2BAA2B,CAkL7B;AAED,wBAAgB,sCAAsC,CACpD,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,EAAE,iBAAiB,GAC3B,2BAA2B,CAyE7B;AAED,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,iBAAiB,EAC3B,SAAS,EAAE,iBAAiB,GAC3B,IAAI,CAKN"}
|
|
@@ -8,10 +8,26 @@ const LEGACY_UNJOURNALED_MIGRATIONS = new Set([
|
|
|
8
8
|
"0055_illegal_sheva_callister.sql",
|
|
9
9
|
"0128_modern_jetstream.sql",
|
|
10
10
|
]);
|
|
11
|
+
const MIGRATION_JOURNAL_VERSION = "7";
|
|
12
|
+
const MIGRATION_DIALECT = "postgresql";
|
|
13
|
+
const SAFE_MIGRATION_TAG = /^[A-Za-z0-9][A-Za-z0-9_-]*$/;
|
|
14
|
+
const SHA256_HEX = /^[0-9a-f]{64}$/;
|
|
11
15
|
export const MIGRATION_MANIFEST_VERSION = 1;
|
|
12
16
|
function sha256(content) {
|
|
13
17
|
return createHash("sha256").update(content).digest("hex");
|
|
14
18
|
}
|
|
19
|
+
function compareMigrationFileNames(left, right) {
|
|
20
|
+
return left < right ? -1 : left > right ? 1 : 0;
|
|
21
|
+
}
|
|
22
|
+
function isSafeMigrationTag(value) {
|
|
23
|
+
return SAFE_MIGRATION_TAG.test(value);
|
|
24
|
+
}
|
|
25
|
+
function isSafeMigrationFileName(value) {
|
|
26
|
+
return value.endsWith(".sql") && isSafeMigrationTag(value.slice(0, -4));
|
|
27
|
+
}
|
|
28
|
+
function isRecord(value) {
|
|
29
|
+
return typeof value === "object" && value !== null;
|
|
30
|
+
}
|
|
15
31
|
function buildCanonicalPayload(journal, journalEntries, sqlFiles) {
|
|
16
32
|
return {
|
|
17
33
|
version: String(journal.version),
|
|
@@ -44,7 +60,10 @@ export async function createMigrationManifest(options = {}) {
|
|
|
44
60
|
if (!Array.isArray(parsed.entries)) {
|
|
45
61
|
throw new Error(`Migration journal has no entries array: ${journalFile}`);
|
|
46
62
|
}
|
|
47
|
-
if (parsed.
|
|
63
|
+
if (String(parsed.version) !== MIGRATION_JOURNAL_VERSION) {
|
|
64
|
+
throw new Error(`Migration journal must use version ${MIGRATION_JOURNAL_VERSION}: ${journalFile}`);
|
|
65
|
+
}
|
|
66
|
+
if (parsed.dialect !== MIGRATION_DIALECT) {
|
|
48
67
|
throw new Error(`Migration journal must use the postgresql dialect: ${journalFile}`);
|
|
49
68
|
}
|
|
50
69
|
const journalMetadata = {
|
|
@@ -61,7 +80,7 @@ export async function createMigrationManifest(options = {}) {
|
|
|
61
80
|
if (!Number.isInteger(order) || (order ?? -1) < 0) {
|
|
62
81
|
throw new Error(`Migration journal entry ${journalPosition} has an invalid idx`);
|
|
63
82
|
}
|
|
64
|
-
if (typeof tag !== "string" ||
|
|
83
|
+
if (typeof tag !== "string" || !isSafeMigrationTag(tag)) {
|
|
65
84
|
throw new Error(`Migration journal entry ${journalPosition} has an invalid tag`);
|
|
66
85
|
}
|
|
67
86
|
if (typeof journalEntry.version !== "string" || journalEntry.version.length === 0) {
|
|
@@ -86,7 +105,7 @@ export async function createMigrationManifest(options = {}) {
|
|
|
86
105
|
const version = journalEntry.version;
|
|
87
106
|
const when = Number(journalEntry.when);
|
|
88
107
|
const breakpoints = journalEntry.breakpoints;
|
|
89
|
-
const content = await readFile(path.join(migrationsFolder, fileName)
|
|
108
|
+
const content = await readFile(path.join(migrationsFolder, fileName));
|
|
90
109
|
const contentSha256 = sha256(content);
|
|
91
110
|
entries.push({ order, fileName, sha256: contentSha256 });
|
|
92
111
|
journalManifestEntries.push({
|
|
@@ -101,7 +120,7 @@ export async function createMigrationManifest(options = {}) {
|
|
|
101
120
|
const sqlFileNames = (await readdir(migrationsFolder, { withFileTypes: true }))
|
|
102
121
|
.filter((entry) => entry.isFile() && entry.name.endsWith(".sql"))
|
|
103
122
|
.map((entry) => entry.name)
|
|
104
|
-
.sort(
|
|
123
|
+
.sort(compareMigrationFileNames);
|
|
105
124
|
const unjournaledFiles = sqlFileNames.filter((fileName) => !seenFiles.has(fileName));
|
|
106
125
|
const unexpectedUnjournaledFiles = unjournaledFiles.filter((fileName) => !LEGACY_UNJOURNALED_MIGRATIONS.has(fileName));
|
|
107
126
|
if (unexpectedUnjournaledFiles.length > 0) {
|
|
@@ -109,12 +128,12 @@ export async function createMigrationManifest(options = {}) {
|
|
|
109
128
|
}
|
|
110
129
|
const sqlFiles = [];
|
|
111
130
|
for (const fileName of unjournaledFiles) {
|
|
112
|
-
const content = await readFile(path.join(migrationsFolder, fileName)
|
|
131
|
+
const content = await readFile(path.join(migrationsFolder, fileName));
|
|
113
132
|
const contentSha256 = sha256(content);
|
|
114
133
|
entries.push({ order: entries.length, fileName, sha256: contentSha256 });
|
|
115
134
|
}
|
|
116
135
|
for (const fileName of sqlFileNames) {
|
|
117
|
-
const content = await readFile(path.join(migrationsFolder, fileName)
|
|
136
|
+
const content = await readFile(path.join(migrationsFolder, fileName));
|
|
118
137
|
sqlFiles.push({ fileName, fingerprint: sha256(content) });
|
|
119
138
|
}
|
|
120
139
|
return freezeManifest(entries, buildCanonicalPayload(journalMetadata, journalManifestEntries, sqlFiles));
|
|
@@ -122,24 +141,155 @@ export async function createMigrationManifest(options = {}) {
|
|
|
122
141
|
export function validateMigrationManifestIntegrity(manifest) {
|
|
123
142
|
const errors = [];
|
|
124
143
|
const seenFiles = new Set();
|
|
144
|
+
if (!isRecord(manifest)) {
|
|
145
|
+
return Object.freeze({
|
|
146
|
+
valid: false,
|
|
147
|
+
errors: Object.freeze(["Migration manifest must be an object"]),
|
|
148
|
+
addedEntries: Object.freeze([]),
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
const manifestEntries = manifest.entries;
|
|
152
|
+
const canonical = manifest.canonical;
|
|
153
|
+
if (!Array.isArray(manifestEntries)) {
|
|
154
|
+
errors.push("Migration manifest entries must be an array");
|
|
155
|
+
}
|
|
156
|
+
if (!isRecord(canonical)) {
|
|
157
|
+
errors.push("Migration manifest canonical payload must be an object");
|
|
158
|
+
}
|
|
159
|
+
if (!Array.isArray(manifestEntries) || !isRecord(canonical)) {
|
|
160
|
+
return Object.freeze({
|
|
161
|
+
valid: false,
|
|
162
|
+
errors: Object.freeze(errors),
|
|
163
|
+
addedEntries: Object.freeze([]),
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
const canonicalEntries = canonical.entries;
|
|
167
|
+
const canonicalSqlFiles = canonical.sqlFiles;
|
|
168
|
+
if (!Array.isArray(canonicalEntries)) {
|
|
169
|
+
errors.push("Migration manifest canonical entries must be an array");
|
|
170
|
+
}
|
|
171
|
+
if (!Array.isArray(canonicalSqlFiles)) {
|
|
172
|
+
errors.push("Migration manifest canonical SQL files must be an array");
|
|
173
|
+
}
|
|
174
|
+
if (!Array.isArray(canonicalEntries) || !Array.isArray(canonicalSqlFiles)) {
|
|
175
|
+
return Object.freeze({
|
|
176
|
+
valid: false,
|
|
177
|
+
errors: Object.freeze(errors),
|
|
178
|
+
addedEntries: Object.freeze([]),
|
|
179
|
+
});
|
|
180
|
+
}
|
|
125
181
|
if (manifest.version !== MIGRATION_MANIFEST_VERSION) {
|
|
126
182
|
errors.push(`Unsupported migration manifest version: ${String(manifest.version)}`);
|
|
127
183
|
}
|
|
128
|
-
|
|
129
|
-
if (entry
|
|
130
|
-
errors.push(`Migration manifest entry ${position}
|
|
184
|
+
manifestEntries.forEach((entry, position) => {
|
|
185
|
+
if (!isRecord(entry)) {
|
|
186
|
+
errors.push(`Migration manifest entry ${position} must be an object`);
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
const order = entry.order;
|
|
190
|
+
const fileName = entry.fileName;
|
|
191
|
+
const fingerprint = entry.sha256;
|
|
192
|
+
if (order !== position) {
|
|
193
|
+
errors.push(`Migration manifest entry ${position} has order ${String(order)}`);
|
|
194
|
+
}
|
|
195
|
+
if (typeof fileName !== "string"
|
|
196
|
+
|| !isSafeMigrationFileName(fileName)
|
|
197
|
+
|| seenFiles.has(fileName)) {
|
|
198
|
+
errors.push(`Migration manifest has an invalid or duplicate file: ${String(fileName)}`);
|
|
131
199
|
}
|
|
132
|
-
if (
|
|
133
|
-
errors.push(`Migration manifest has an invalid
|
|
200
|
+
if (typeof fingerprint !== "string" || !SHA256_HEX.test(fingerprint)) {
|
|
201
|
+
errors.push(`Migration manifest has an invalid SHA256 for ${String(fileName)}`);
|
|
134
202
|
}
|
|
135
|
-
if (
|
|
136
|
-
|
|
203
|
+
if (typeof fileName === "string") {
|
|
204
|
+
seenFiles.add(fileName);
|
|
137
205
|
}
|
|
138
|
-
seenFiles.add(entry.fileName);
|
|
139
206
|
});
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
207
|
+
if (canonical.version !== MIGRATION_JOURNAL_VERSION) {
|
|
208
|
+
errors.push(`Migration manifest has an unsupported journal version: ${String(canonical.version)}`);
|
|
209
|
+
}
|
|
210
|
+
if (canonical.dialect !== MIGRATION_DIALECT) {
|
|
211
|
+
errors.push(`Migration manifest has an unsupported journal dialect: ${String(canonical.dialect)}`);
|
|
212
|
+
}
|
|
213
|
+
canonicalEntries.forEach((entry, position) => {
|
|
214
|
+
if (!isRecord(entry)) {
|
|
215
|
+
errors.push(`Migration manifest journal entry ${position} must be an object`);
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
const idx = entry.idx;
|
|
219
|
+
const version = entry.version;
|
|
220
|
+
const when = entry.when;
|
|
221
|
+
const tag = entry.tag;
|
|
222
|
+
const breakpoints = entry.breakpoints;
|
|
223
|
+
const sqlFingerprint = entry.sqlFingerprint;
|
|
224
|
+
const expected = manifestEntries[position];
|
|
225
|
+
if (idx !== position) {
|
|
226
|
+
errors.push(`Migration manifest journal entry ${position} has idx ${String(idx)}`);
|
|
227
|
+
}
|
|
228
|
+
if (typeof tag !== "string" || !isSafeMigrationTag(tag)) {
|
|
229
|
+
errors.push(`Migration manifest journal entry ${position} has an invalid tag: ${String(tag)}`);
|
|
230
|
+
}
|
|
231
|
+
if (typeof version !== "string"
|
|
232
|
+
|| version.length === 0
|
|
233
|
+
|| typeof when !== "number"
|
|
234
|
+
|| !Number.isSafeInteger(when)
|
|
235
|
+
|| when <= 0) {
|
|
236
|
+
errors.push(`Migration manifest journal entry ${position} has invalid metadata`);
|
|
237
|
+
}
|
|
238
|
+
if (typeof breakpoints !== "boolean" || typeof sqlFingerprint !== "string" || !SHA256_HEX.test(sqlFingerprint)) {
|
|
239
|
+
errors.push(`Migration manifest journal entry ${position} has invalid identity data`);
|
|
240
|
+
}
|
|
241
|
+
const expectedFileName = isRecord(expected) && typeof expected.fileName === "string"
|
|
242
|
+
? expected.fileName
|
|
243
|
+
: undefined;
|
|
244
|
+
const expectedFingerprint = isRecord(expected) && typeof expected.sha256 === "string"
|
|
245
|
+
? expected.sha256
|
|
246
|
+
: undefined;
|
|
247
|
+
if (!expected
|
|
248
|
+
|| expectedFileName !== `${String(tag)}.sql`
|
|
249
|
+
|| expectedFingerprint !== sqlFingerprint
|
|
250
|
+
|| (isRecord(expected) && expected.order !== idx)) {
|
|
251
|
+
errors.push(`Migration manifest journal entry ${position} is not bound to its SQL entry`);
|
|
252
|
+
}
|
|
253
|
+
});
|
|
254
|
+
const expectedJournalEntryCount = manifestEntries.filter((entry) => {
|
|
255
|
+
if (!isRecord(entry) || typeof entry.fileName !== "string")
|
|
256
|
+
return false;
|
|
257
|
+
return !LEGACY_UNJOURNALED_MIGRATIONS.has(entry.fileName);
|
|
258
|
+
}).length;
|
|
259
|
+
if (canonicalEntries.length !== expectedJournalEntryCount) {
|
|
260
|
+
errors.push("Migration manifest canonical journal entry list does not match entries");
|
|
261
|
+
}
|
|
262
|
+
if (canonicalEntries.length > manifestEntries.length) {
|
|
263
|
+
errors.push("Migration manifest has more journal entries than SQL entries");
|
|
264
|
+
}
|
|
265
|
+
const expectedSqlFiles = manifestEntries
|
|
266
|
+
.filter((entry) => isRecord(entry)
|
|
267
|
+
&& typeof entry.fileName === "string"
|
|
268
|
+
&& typeof entry.sha256 === "string")
|
|
269
|
+
.sort((left, right) => compareMigrationFileNames(left.fileName, right.fileName))
|
|
270
|
+
.map((entry) => ({ fileName: entry.fileName, fingerprint: entry.sha256 }));
|
|
271
|
+
if (canonicalSqlFiles.length !== expectedSqlFiles.length) {
|
|
272
|
+
errors.push("Migration manifest canonical SQL file list does not match entries");
|
|
273
|
+
}
|
|
274
|
+
const sharedSqlFileLength = Math.min(canonicalSqlFiles.length, expectedSqlFiles.length);
|
|
275
|
+
for (let index = 0; index < sharedSqlFileLength; index += 1) {
|
|
276
|
+
const actual = canonicalSqlFiles[index];
|
|
277
|
+
const expected = expectedSqlFiles[index];
|
|
278
|
+
if (!isRecord(actual)
|
|
279
|
+
|| !expected
|
|
280
|
+
|| actual.fileName !== expected.fileName
|
|
281
|
+
|| actual.fingerprint !== expected.fingerprint) {
|
|
282
|
+
errors.push(`Migration manifest canonical SQL file ${index} is not bound to entries`);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
try {
|
|
286
|
+
const expectedFingerprint = manifestFingerprint(canonical);
|
|
287
|
+
if (manifest.fingerprint !== expectedFingerprint) {
|
|
288
|
+
errors.push(`Migration manifest fingerprint mismatch: expected ${expectedFingerprint}, received ${String(manifest.fingerprint)}`);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
catch {
|
|
292
|
+
errors.push("Migration manifest canonical payload cannot be fingerprinted");
|
|
143
293
|
}
|
|
144
294
|
return Object.freeze({
|
|
145
295
|
valid: errors.length === 0,
|
|
@@ -154,27 +304,58 @@ export function validateMigrationManifestCompatibility(baseline, candidate) {
|
|
|
154
304
|
...baselineIntegrity.errors.map((error) => `Baseline: ${error}`),
|
|
155
305
|
...candidateIntegrity.errors.map((error) => `Candidate: ${error}`),
|
|
156
306
|
];
|
|
157
|
-
if (
|
|
158
|
-
|
|
307
|
+
if (!baselineIntegrity.valid || !candidateIntegrity.valid) {
|
|
308
|
+
return Object.freeze({
|
|
309
|
+
valid: false,
|
|
310
|
+
errors: Object.freeze(errors),
|
|
311
|
+
addedEntries: Object.freeze([]),
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
const baselineJournalLength = baseline.canonical.entries.length;
|
|
315
|
+
const candidateJournalLength = candidate.canonical.entries.length;
|
|
316
|
+
if (candidateJournalLength < baselineJournalLength) {
|
|
317
|
+
errors.push(`Candidate removed ${baselineJournalLength - candidateJournalLength} published migration(s)`);
|
|
159
318
|
}
|
|
160
|
-
const
|
|
161
|
-
for (let index = 0; index <
|
|
319
|
+
const sharedJournalLength = Math.min(baselineJournalLength, candidateJournalLength);
|
|
320
|
+
for (let index = 0; index < sharedJournalLength; index += 1) {
|
|
321
|
+
const expectedJournal = baseline.canonical.entries[index];
|
|
322
|
+
const actualJournal = candidate.canonical.entries[index];
|
|
162
323
|
const expected = baseline.entries[index];
|
|
163
324
|
const actual = candidate.entries[index];
|
|
164
|
-
if (!expected || !actual)
|
|
165
|
-
continue;
|
|
166
|
-
if (expected.order !== actual.order || expected.fileName !== actual.fileName) {
|
|
167
|
-
errors.push(`Candidate changed published migration order ${index}: expected ${expected.fileName}, received ${actual.fileName}`);
|
|
325
|
+
if (!expectedJournal || !actualJournal || !expected || !actual)
|
|
168
326
|
continue;
|
|
327
|
+
if (expectedJournal.idx !== actualJournal.idx ||
|
|
328
|
+
expectedJournal.version !== actualJournal.version ||
|
|
329
|
+
expectedJournal.when !== actualJournal.when ||
|
|
330
|
+
expectedJournal.tag !== actualJournal.tag ||
|
|
331
|
+
expectedJournal.breakpoints !== actualJournal.breakpoints ||
|
|
332
|
+
expectedJournal.sqlFingerprint !== actualJournal.sqlFingerprint) {
|
|
333
|
+
errors.push(`Candidate changed published journal migration ${expected.fileName}`);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
const baselineLegacy = baseline.entries.slice(baselineJournalLength);
|
|
337
|
+
const candidateLegacy = candidate.entries.slice(candidateJournalLength);
|
|
338
|
+
if (candidateLegacy.length !== baselineLegacy.length) {
|
|
339
|
+
if (candidateLegacy.length < baselineLegacy.length) {
|
|
340
|
+
errors.push(`Candidate removed ${baselineLegacy.length - candidateLegacy.length} published legacy migration(s)`);
|
|
341
|
+
}
|
|
342
|
+
else {
|
|
343
|
+
errors.push(`Candidate added ${candidateLegacy.length - baselineLegacy.length} unpublished legacy migration(s)`);
|
|
169
344
|
}
|
|
170
|
-
|
|
345
|
+
}
|
|
346
|
+
for (let index = 0; index < baselineLegacy.length; index += 1) {
|
|
347
|
+
const expected = baselineLegacy[index];
|
|
348
|
+
const actual = candidateLegacy[index];
|
|
349
|
+
if (!expected || !actual)
|
|
350
|
+
continue;
|
|
351
|
+
if (expected.fileName !== actual.fileName || expected.sha256 !== actual.sha256) {
|
|
171
352
|
errors.push(`Candidate changed published migration ${expected.fileName}`);
|
|
172
353
|
}
|
|
173
354
|
}
|
|
174
355
|
return Object.freeze({
|
|
175
356
|
valid: errors.length === 0,
|
|
176
357
|
errors: Object.freeze(errors),
|
|
177
|
-
addedEntries: Object.freeze(candidate.entries.slice(
|
|
358
|
+
addedEntries: Object.freeze(candidate.entries.slice(baselineJournalLength, candidateJournalLength)),
|
|
178
359
|
});
|
|
179
360
|
}
|
|
180
361
|
export function assertMigrationManifestCompatible(baseline, candidate) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-manifest.js","sourceRoot":"","sources":["../src/migration-manifest.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"migration-manifest.js","sourceRoot":"","sources":["../src/migration-manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
2
3
|
import os from "node:os";
|
|
3
4
|
import path from "node:path";
|
|
4
5
|
import { afterEach, describe, expect, it } from "vitest";
|
|
@@ -49,6 +50,15 @@ describe("migration manifest", () => {
|
|
|
49
50
|
expect(Object.isFrozen(firstManifest)).toBe(true);
|
|
50
51
|
expect(Object.isFrozen(firstManifest.entries)).toBe(true);
|
|
51
52
|
});
|
|
53
|
+
it("rejects journals from an unsupported version", async () => {
|
|
54
|
+
const fixture = createFixture([
|
|
55
|
+
{ tag: "0000_first", sql: "CREATE TABLE first_table (id integer);" },
|
|
56
|
+
]);
|
|
57
|
+
const journal = JSON.parse(readFileSync(fixture.journalFile, "utf8"));
|
|
58
|
+
journal.version = "6";
|
|
59
|
+
writeFileSync(fixture.journalFile, JSON.stringify(journal), "utf8");
|
|
60
|
+
await expect(createMigrationManifest(fixture)).rejects.toThrow("version 7");
|
|
61
|
+
});
|
|
52
62
|
it("allows appended migrations and rejects edits to a published prefix", async () => {
|
|
53
63
|
const baselineFixture = createFixture([
|
|
54
64
|
{ tag: "0000_first", sql: "CREATE TABLE first_table (id integer);" },
|
|
@@ -74,7 +84,7 @@ describe("migration manifest", () => {
|
|
|
74
84
|
});
|
|
75
85
|
expect(validateMigrationManifestCompatibility(baseline, edited)).toMatchObject({
|
|
76
86
|
valid: false,
|
|
77
|
-
errors: ["Candidate changed published migration 0000_first.sql"],
|
|
87
|
+
errors: ["Candidate changed published journal migration 0000_first.sql"],
|
|
78
88
|
});
|
|
79
89
|
});
|
|
80
90
|
it("rejects SQL files that are not represented in the journal", async () => {
|
|
@@ -84,5 +94,112 @@ describe("migration manifest", () => {
|
|
|
84
94
|
writeFileSync(path.join(fixture.migrationsFolder, "0001_unjournaled.sql"), "CREATE TABLE unjournaled (id integer);", "utf8");
|
|
85
95
|
await expect(createMigrationManifest(fixture)).rejects.toThrow("Migration SQL files are missing from the journal: 0001_unjournaled.sql");
|
|
86
96
|
});
|
|
97
|
+
it("uses a locale-independent canonical file order", async () => {
|
|
98
|
+
const fixture = createFixture([
|
|
99
|
+
{ tag: "a_foo", sql: "SELECT underscore;" },
|
|
100
|
+
{ tag: "a-foo", sql: "SELECT hyphen;" },
|
|
101
|
+
]);
|
|
102
|
+
const manifest = await createMigrationManifest(fixture);
|
|
103
|
+
expect(manifest.canonical.sqlFiles.map((entry) => entry.fileName)).toEqual([
|
|
104
|
+
"a-foo.sql",
|
|
105
|
+
"a_foo.sql",
|
|
106
|
+
]);
|
|
107
|
+
});
|
|
108
|
+
it("keeps legacy SQL outside the journal prefix for append compatibility", async () => {
|
|
109
|
+
const baselineFixture = createFixture([
|
|
110
|
+
{ tag: "0000_first", sql: "CREATE TABLE first_table (id integer);" },
|
|
111
|
+
{ tag: "0001_second", sql: "CREATE TABLE second_table (id integer);" },
|
|
112
|
+
]);
|
|
113
|
+
const appendedFixture = createFixture([
|
|
114
|
+
{ tag: "0000_first", sql: "CREATE TABLE first_table (id integer);" },
|
|
115
|
+
{ tag: "0001_second", sql: "CREATE TABLE second_table (id integer);" },
|
|
116
|
+
{ tag: "0002_third", sql: "CREATE TABLE third_table (id integer);" },
|
|
117
|
+
]);
|
|
118
|
+
for (const fixture of [baselineFixture, appendedFixture]) {
|
|
119
|
+
writeFileSync(path.join(fixture.migrationsFolder, "0055_illegal_sheva_callister.sql"), "SELECT legacy;", "utf8");
|
|
120
|
+
}
|
|
121
|
+
const baseline = await createMigrationManifest(baselineFixture);
|
|
122
|
+
const appended = await createMigrationManifest(appendedFixture);
|
|
123
|
+
expect(validateMigrationManifestCompatibility(baseline, appended)).toMatchObject({
|
|
124
|
+
valid: true,
|
|
125
|
+
errors: [],
|
|
126
|
+
addedEntries: [{ order: 2, fileName: "0002_third.sql" }],
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
it("rejects a newly introduced allowlisted legacy migration", async () => {
|
|
130
|
+
const baselineFixture = createFixture([
|
|
131
|
+
{ tag: "0000_first", sql: "CREATE TABLE first_table (id integer);" },
|
|
132
|
+
]);
|
|
133
|
+
const candidateFixture = createFixture([
|
|
134
|
+
{ tag: "0000_first", sql: "CREATE TABLE first_table (id integer);" },
|
|
135
|
+
]);
|
|
136
|
+
writeFileSync(path.join(candidateFixture.migrationsFolder, "0055_illegal_sheva_callister.sql"), "SELECT legacy;", "utf8");
|
|
137
|
+
const baseline = await createMigrationManifest(baselineFixture);
|
|
138
|
+
const candidate = await createMigrationManifest(candidateFixture);
|
|
139
|
+
const validation = validateMigrationManifestCompatibility(baseline, candidate);
|
|
140
|
+
expect(validation.valid).toBe(false);
|
|
141
|
+
expect(validation.errors).toContain("Candidate added 1 unpublished legacy migration(s)");
|
|
142
|
+
});
|
|
143
|
+
it("binds canonical entries and SQL files to the flattened manifest", async () => {
|
|
144
|
+
const fixture = createFixture([
|
|
145
|
+
{ tag: "0000_first", sql: "CREATE TABLE first_table (id integer);" },
|
|
146
|
+
]);
|
|
147
|
+
const manifest = await createMigrationManifest(fixture);
|
|
148
|
+
const canonical = {
|
|
149
|
+
...manifest.canonical,
|
|
150
|
+
sqlFiles: manifest.canonical.sqlFiles.map((entry, index) => index === 0 ? { ...entry, fingerprint: "0".repeat(64) } : entry),
|
|
151
|
+
};
|
|
152
|
+
const forged = {
|
|
153
|
+
...manifest,
|
|
154
|
+
canonical,
|
|
155
|
+
fingerprint: createHash("sha256").update(JSON.stringify(canonical)).digest("hex"),
|
|
156
|
+
};
|
|
157
|
+
const validation = validateMigrationManifestIntegrity(forged);
|
|
158
|
+
expect(validation.valid).toBe(false);
|
|
159
|
+
expect(validation.errors).toContain("Migration manifest canonical SQL file 0 is not bound to entries");
|
|
160
|
+
});
|
|
161
|
+
it("rejects a canonical journal prefix that does not cover flattened entries", async () => {
|
|
162
|
+
const fixture = createFixture([
|
|
163
|
+
{ tag: "0000_first", sql: "CREATE TABLE first_table (id integer);" },
|
|
164
|
+
{ tag: "0001_second", sql: "CREATE TABLE second_table (id integer);" },
|
|
165
|
+
]);
|
|
166
|
+
const manifest = await createMigrationManifest(fixture);
|
|
167
|
+
const canonical = {
|
|
168
|
+
...manifest.canonical,
|
|
169
|
+
entries: manifest.canonical.entries.slice(0, -1),
|
|
170
|
+
};
|
|
171
|
+
const forged = {
|
|
172
|
+
...manifest,
|
|
173
|
+
canonical,
|
|
174
|
+
fingerprint: createHash("sha256").update(JSON.stringify(canonical)).digest("hex"),
|
|
175
|
+
};
|
|
176
|
+
const validation = validateMigrationManifestIntegrity(forged);
|
|
177
|
+
expect(validation.valid).toBe(false);
|
|
178
|
+
expect(validation.errors).toContain("Migration manifest canonical journal entry list does not match entries");
|
|
179
|
+
});
|
|
180
|
+
it("returns invalid for malformed manifest shapes instead of throwing", async () => {
|
|
181
|
+
const fixture = createFixture([
|
|
182
|
+
{ tag: "0000_first", sql: "CREATE TABLE first_table (id integer);" },
|
|
183
|
+
]);
|
|
184
|
+
const manifest = await createMigrationManifest(fixture);
|
|
185
|
+
const missingCanonical = { ...manifest, canonical: undefined };
|
|
186
|
+
const nullVersion = {
|
|
187
|
+
...manifest,
|
|
188
|
+
canonical: { ...manifest.canonical, version: null },
|
|
189
|
+
};
|
|
190
|
+
expect(() => validateMigrationManifestIntegrity(missingCanonical)).not.toThrow();
|
|
191
|
+
expect(validateMigrationManifestIntegrity(missingCanonical).valid).toBe(false);
|
|
192
|
+
expect(() => validateMigrationManifestIntegrity(nullVersion)).not.toThrow();
|
|
193
|
+
expect(validateMigrationManifestIntegrity(nullVersion).valid).toBe(false);
|
|
194
|
+
});
|
|
195
|
+
it("returns invalid for malformed compatibility inputs instead of throwing", async () => {
|
|
196
|
+
const fixture = createFixture([
|
|
197
|
+
{ tag: "0000_first", sql: "CREATE TABLE first_table (id integer);" },
|
|
198
|
+
]);
|
|
199
|
+
const manifest = await createMigrationManifest(fixture);
|
|
200
|
+
const malformed = { ...manifest, canonical: undefined };
|
|
201
|
+
expect(() => validateMigrationManifestCompatibility(manifest, malformed)).not.toThrow();
|
|
202
|
+
expect(validateMigrationManifestCompatibility(manifest, malformed).valid).toBe(false);
|
|
203
|
+
});
|
|
87
204
|
});
|
|
88
205
|
//# sourceMappingURL=migration-manifest.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-manifest.test.js","sourceRoot":"","sources":["../src/migration-manifest.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"migration-manifest.test.js","sourceRoot":"","sources":["../src/migration-manifest.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rudderhq/db",
|
|
3
|
-
"version": "0.7.23-canary.
|
|
3
|
+
"version": "0.7.23-canary.4",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE",
|
|
5
5
|
"homepage": "https://github.com/Undertone0809/rudder",
|
|
6
6
|
"bugs": {
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"seed": "tsx src/seed.ts"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@rudderhq/shared": "0.7.23-canary.
|
|
54
|
+
"@rudderhq/shared": "0.7.23-canary.4",
|
|
55
55
|
"drizzle-orm": "^0.45.2",
|
|
56
56
|
"embedded-postgres": "18.1.0-beta.16",
|
|
57
57
|
"postgres": "^3.4.8"
|