@memberjunction/cli 5.38.0 → 5.40.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/dist/baseline/emitter.js +23 -16
- package/dist/baseline/emitter.js.map +1 -1
- package/dist/commands/baseline/roundtrip.d.ts.map +1 -1
- package/dist/commands/baseline/roundtrip.js +12 -7
- package/dist/commands/baseline/roundtrip.js.map +1 -1
- package/dist/commands/bundle/index.d.ts +21 -0
- package/dist/commands/bundle/index.d.ts.map +1 -0
- package/dist/commands/bundle/index.js +62 -0
- package/dist/commands/bundle/index.js.map +1 -0
- package/dist/commands/migrate/convert.d.ts +4 -1
- package/dist/commands/migrate/convert.d.ts.map +1 -1
- package/dist/commands/migrate/convert.js +4 -1
- package/dist/commands/migrate/convert.js.map +1 -1
- package/dist/commands/migrate/index.d.ts +29 -0
- package/dist/commands/migrate/index.d.ts.map +1 -1
- package/dist/commands/migrate/index.js +111 -5
- package/dist/commands/migrate/index.js.map +1 -1
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +13 -0
- package/dist/config.js.map +1 -1
- package/dist/lib/db-preflight.d.ts +42 -0
- package/dist/lib/db-preflight.d.ts.map +1 -0
- package/dist/lib/db-preflight.js +113 -0
- package/dist/lib/db-preflight.js.map +1 -0
- package/dist/lib/db-version.d.ts +36 -0
- package/dist/lib/db-version.d.ts.map +1 -0
- package/dist/lib/db-version.js +45 -0
- package/dist/lib/db-version.js.map +1 -0
- package/dist/lib/migration-fetch.d.ts +49 -0
- package/dist/lib/migration-fetch.d.ts.map +1 -0
- package/dist/lib/migration-fetch.js +152 -0
- package/dist/lib/migration-fetch.js.map +1 -0
- package/dist/light-commands.d.ts.map +1 -1
- package/dist/light-commands.js +2 -0
- package/dist/light-commands.js.map +1 -1
- package/oclif.manifest.json +529 -443
- package/package.json +15 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/migrate/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAErD,OAAO,GAAG,MAAM,aAAa,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/migrate/index.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ declare const mjConfigSchema: z.ZodObject<{
|
|
|
15
15
|
coreSchema: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
16
16
|
cleanDisabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
17
17
|
mjRepoUrl: z.ZodCatch<z.ZodString>;
|
|
18
|
+
mjRepoBranch: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
19
|
+
mjRepoVersion: z.ZodOptional<z.ZodString>;
|
|
18
20
|
baselineVersion: z.ZodOptional<z.ZodString>;
|
|
19
21
|
baselineOnMigrate: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
20
22
|
outOfOrder: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
@@ -209,6 +211,8 @@ declare const mjConfigSchema: z.ZodObject<{
|
|
|
209
211
|
coreSchema?: string;
|
|
210
212
|
cleanDisabled?: boolean;
|
|
211
213
|
mjRepoUrl?: string;
|
|
214
|
+
mjRepoBranch?: string;
|
|
215
|
+
mjRepoVersion?: string;
|
|
212
216
|
baselineVersion?: string;
|
|
213
217
|
baselineOnMigrate?: boolean;
|
|
214
218
|
outOfOrder?: boolean;
|
|
@@ -269,6 +273,8 @@ declare const mjConfigSchema: z.ZodObject<{
|
|
|
269
273
|
coreSchema?: string;
|
|
270
274
|
cleanDisabled?: boolean;
|
|
271
275
|
mjRepoUrl?: unknown;
|
|
276
|
+
mjRepoBranch?: string;
|
|
277
|
+
mjRepoVersion?: string;
|
|
272
278
|
baselineVersion?: string;
|
|
273
279
|
baselineOnMigrate?: boolean;
|
|
274
280
|
outOfOrder?: boolean;
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAqC,MAAM,6BAA6B,CAAC;AAInG,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAqC,MAAM,6BAA6B,CAAC;AAInG,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAoGtD,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAtChB,8DAA8D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAahE,iFAAiF;;QAEjF,sFAAsF;;QAEtF,6FAA6F;;QAE7F,+FAA+F;;QAE/F,yEAAyE;;;;;;;;;;;QAKzE,8DAA8D;;QAE9D,4FAA4F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwC5F,CAAC;AAkCH,eAAO,MAAM,MAAM,EAAqB,QAAQ,GAAG,SAAS,CAAC;AAE7D;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAAO,QAyBrC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,QAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,SAGxD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,QAAO,QAAQ,GAAG,SAU3C,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,GAC1B,UAAU,QAAQ,EAClB,MAAM,MAAM,EACZ,SAAS,MAAM,EACf,MAAM,MAAM,KACX,OAAO,CAAC,YAAY,CA6FtB,CAAC"}
|
package/dist/config.js
CHANGED
|
@@ -27,6 +27,7 @@ const DEFAULT_CLI_CONFIG = {
|
|
|
27
27
|
baselineOnMigrate: true,
|
|
28
28
|
transactionMode: 'per-migration',
|
|
29
29
|
mjRepoUrl: MJ_REPO_URL,
|
|
30
|
+
mjRepoBranch: 'main',
|
|
30
31
|
migrationsLocation: 'filesystem:./migrations',
|
|
31
32
|
};
|
|
32
33
|
const explorer = cosmiconfigSync('mj', { searchStrategy: 'global' });
|
|
@@ -106,6 +107,13 @@ const mjConfigSchema = z.object({
|
|
|
106
107
|
coreSchema: z.string().optional().default('__mj'),
|
|
107
108
|
cleanDisabled: z.boolean().optional().default(true),
|
|
108
109
|
mjRepoUrl: z.string().url().catch(MJ_REPO_URL),
|
|
110
|
+
// Default branch fetched when no explicit tag is given. `main` is the published-code
|
|
111
|
+
// branch; `next` is integration-only and never a default migrate/install target.
|
|
112
|
+
mjRepoBranch: z.string().optional().default('main'),
|
|
113
|
+
// Concrete release tag pinned by `mj install` so a bare `mj migrate` (no --tag)
|
|
114
|
+
// targets the same version as the installed code. Absent for monorepo developers,
|
|
115
|
+
// who fall back to the local `migrationsLocation`.
|
|
116
|
+
mjRepoVersion: z.string().optional(),
|
|
109
117
|
baselineVersion: z.string().optional(),
|
|
110
118
|
baselineOnMigrate: z.boolean().optional().default(true),
|
|
111
119
|
outOfOrder: z.boolean().optional().default(false),
|
|
@@ -131,6 +139,11 @@ const mjConfigSchemaOptional = z.object({
|
|
|
131
139
|
coreSchema: z.string().optional().default('__mj'),
|
|
132
140
|
cleanDisabled: z.boolean().optional().default(true),
|
|
133
141
|
mjRepoUrl: z.string().url().catch(MJ_REPO_URL),
|
|
142
|
+
mjRepoBranch: z.string().optional().default('main'),
|
|
143
|
+
// Concrete release tag pinned by `mj install` so a bare `mj migrate` (no --tag)
|
|
144
|
+
// targets the same version as the installed code. Absent for monorepo developers,
|
|
145
|
+
// who fall back to the local `migrationsLocation`.
|
|
146
|
+
mjRepoVersion: z.string().optional(),
|
|
134
147
|
baselineVersion: z.string().optional(),
|
|
135
148
|
baselineOnMigrate: z.boolean().optional().default(true),
|
|
136
149
|
outOfOrder: z.boolean().optional().default(false),
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Database connection preflight.
|
|
3
|
+
*
|
|
4
|
+
* Opens a real connection using the same settings `mj migrate` uses, runs a
|
|
5
|
+
* trivial query, and classifies any failure into an actionable result. The
|
|
6
|
+
* headline case: detecting a self-signed / untrusted TLS certificate and
|
|
7
|
+
* suggesting `DB_TRUST_SERVER_CERTIFICATE` for local instances — instead of the
|
|
8
|
+
* cryptic "self-signed certificate" error surfacing mid-migration.
|
|
9
|
+
*
|
|
10
|
+
* Lives in MJCLI (not the installer) because the SQL driver (`mssql`) ships
|
|
11
|
+
* here; the installer surfaces it through `mj migrate` / `--check-connection`.
|
|
12
|
+
*
|
|
13
|
+
* @module lib/db-preflight
|
|
14
|
+
*/
|
|
15
|
+
import type { MJConfig } from '../config.js';
|
|
16
|
+
/** The subset of config a connection needs — keeps this independently testable. */
|
|
17
|
+
export type DbConnectionConfig = Pick<MJConfig, 'dbPlatform' | 'dbHost' | 'dbPort' | 'dbDatabase' | 'codeGenLogin' | 'codeGenPassword' | 'dbEncrypt' | 'dbTrustServerCertificate'>;
|
|
18
|
+
/** Why a preflight connection failed, ordered by how specifically we can advise. */
|
|
19
|
+
export type DbPreflightReason = 'tls-untrusted-cert' | 'auth' | 'unreachable' | 'other';
|
|
20
|
+
/**
|
|
21
|
+
* Outcome of a connection preflight. A flat shape (rather than a discriminated
|
|
22
|
+
* union) because this package compiles without `strictNullChecks`, so union
|
|
23
|
+
* narrowing on `Ok` is unreliable; `Reason`/`Message`/`Suggestion` are populated
|
|
24
|
+
* only when `Ok` is false.
|
|
25
|
+
*/
|
|
26
|
+
export interface DbPreflightResult {
|
|
27
|
+
/** True when a connection was established and a probe query succeeded. */
|
|
28
|
+
Ok: boolean;
|
|
29
|
+
/** Failure classification (set only when `Ok` is false). */
|
|
30
|
+
Reason?: DbPreflightReason;
|
|
31
|
+
/** Underlying error message (set only when `Ok` is false). */
|
|
32
|
+
Message?: string;
|
|
33
|
+
/** An actionable next step, when one can be offered. */
|
|
34
|
+
Suggestion?: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Open a real connection with the configured encrypt/trust settings, run a
|
|
38
|
+
* trivial query, and report success or a classified failure. Always closes the
|
|
39
|
+
* connection it opened.
|
|
40
|
+
*/
|
|
41
|
+
export declare function verifyDatabaseConnection(config: DbConnectionConfig): Promise<DbPreflightResult>;
|
|
42
|
+
//# sourceMappingURL=db-preflight.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db-preflight.d.ts","sourceRoot":"","sources":["../../src/lib/db-preflight.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE1C,mFAAmF;AACnF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,QAAQ,EACR,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,GAAG,cAAc,GAAG,iBAAiB,GAAG,WAAW,GAAG,0BAA0B,CAClI,CAAC;AAEF,oFAAoF;AACpF,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,GAAG,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC;AAExF;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,0EAA0E;IAC1E,EAAE,EAAE,OAAO,CAAC;IACZ,4DAA4D;IAC5D,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAiED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAuBrG"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Database connection preflight.
|
|
3
|
+
*
|
|
4
|
+
* Opens a real connection using the same settings `mj migrate` uses, runs a
|
|
5
|
+
* trivial query, and classifies any failure into an actionable result. The
|
|
6
|
+
* headline case: detecting a self-signed / untrusted TLS certificate and
|
|
7
|
+
* suggesting `DB_TRUST_SERVER_CERTIFICATE` for local instances — instead of the
|
|
8
|
+
* cryptic "self-signed certificate" error surfacing mid-migration.
|
|
9
|
+
*
|
|
10
|
+
* Lives in MJCLI (not the installer) because the SQL driver (`mssql`) ships
|
|
11
|
+
* here; the installer surfaces it through `mj migrate` / `--check-connection`.
|
|
12
|
+
*
|
|
13
|
+
* @module lib/db-preflight
|
|
14
|
+
*/
|
|
15
|
+
import { openConnection } from '../baseline/connection.js';
|
|
16
|
+
/** Map the config's DB platform to the connection helper's dialect. */
|
|
17
|
+
function dialectFor(platform) {
|
|
18
|
+
return platform === 'postgresql' ? 'postgres' : 'mssql';
|
|
19
|
+
}
|
|
20
|
+
/** True when the error indicates an untrusted / self-signed TLS certificate. */
|
|
21
|
+
function isUntrustedCertError(message) {
|
|
22
|
+
const m = message.toLowerCase();
|
|
23
|
+
return (m.includes('self-signed certificate') ||
|
|
24
|
+
m.includes('self signed certificate') ||
|
|
25
|
+
m.includes('depth_zero_self_signed_cert') ||
|
|
26
|
+
m.includes('self_signed_cert_in_chain') ||
|
|
27
|
+
m.includes('unable to verify the first certificate') ||
|
|
28
|
+
m.includes('unable to get local issuer certificate'));
|
|
29
|
+
}
|
|
30
|
+
/** True when the error indicates a credentials / login problem. */
|
|
31
|
+
function isAuthError(message) {
|
|
32
|
+
const m = message.toLowerCase();
|
|
33
|
+
return m.includes('login failed') || m.includes('password authentication failed');
|
|
34
|
+
}
|
|
35
|
+
/** True when the error indicates the host / port could not be reached. */
|
|
36
|
+
function isUnreachableError(message) {
|
|
37
|
+
const m = message.toLowerCase();
|
|
38
|
+
return (m.includes('econnrefused') || m.includes('etimedout') || m.includes('enotfound') || m.includes('connection timed out') || m.includes('could not connect'));
|
|
39
|
+
}
|
|
40
|
+
/** Turn a connection error message into a classified, actionable result. */
|
|
41
|
+
function classifyFailure(message, config) {
|
|
42
|
+
if (isUntrustedCertError(message)) {
|
|
43
|
+
// Only suggest trusting the cert when we aren't already trusting it — otherwise
|
|
44
|
+
// the problem is a different cert issue and that advice would mislead.
|
|
45
|
+
const suggestion = config.dbTrustServerCertificate
|
|
46
|
+
? undefined
|
|
47
|
+
: 'The database is presenting a self-signed / untrusted TLS certificate. For a local or ' +
|
|
48
|
+
'development instance, set DB_TRUST_SERVER_CERTIFICATE=1 in your .env (or ' +
|
|
49
|
+
'dbTrustServerCertificate: true in mj.config.cjs) to trust it, then retry.';
|
|
50
|
+
return { Ok: false, Reason: 'tls-untrusted-cert', Message: message, Suggestion: suggestion };
|
|
51
|
+
}
|
|
52
|
+
if (isAuthError(message)) {
|
|
53
|
+
return {
|
|
54
|
+
Ok: false,
|
|
55
|
+
Reason: 'auth',
|
|
56
|
+
Message: message,
|
|
57
|
+
Suggestion: 'Check the database login (codeGenLogin / codeGenPassword) in your .env or mj.config.cjs.',
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
if (isUnreachableError(message)) {
|
|
61
|
+
return {
|
|
62
|
+
Ok: false,
|
|
63
|
+
Reason: 'unreachable',
|
|
64
|
+
Message: message,
|
|
65
|
+
Suggestion: `Confirm the database is running and reachable at ${config.dbHost}:${config.dbPort}.`,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
return { Ok: false, Reason: 'other', Message: message };
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Open a real connection with the configured encrypt/trust settings, run a
|
|
72
|
+
* trivial query, and report success or a classified failure. Always closes the
|
|
73
|
+
* connection it opened.
|
|
74
|
+
*/
|
|
75
|
+
export async function verifyDatabaseConnection(config) {
|
|
76
|
+
const params = {
|
|
77
|
+
dialect: dialectFor(config.dbPlatform),
|
|
78
|
+
host: config.dbHost,
|
|
79
|
+
port: config.dbPort,
|
|
80
|
+
user: config.codeGenLogin,
|
|
81
|
+
password: config.codeGenPassword,
|
|
82
|
+
database: config.dbDatabase,
|
|
83
|
+
encrypt: config.dbEncrypt,
|
|
84
|
+
trustServerCertificate: config.dbTrustServerCertificate,
|
|
85
|
+
};
|
|
86
|
+
let conn;
|
|
87
|
+
try {
|
|
88
|
+
const runner = await openConnection(params);
|
|
89
|
+
conn = runner;
|
|
90
|
+
await runner.query('SELECT 1');
|
|
91
|
+
return { Ok: true };
|
|
92
|
+
}
|
|
93
|
+
catch (err) {
|
|
94
|
+
return classifyFailure(err instanceof Error ? err.message : String(err), config);
|
|
95
|
+
}
|
|
96
|
+
finally {
|
|
97
|
+
await closeQuietly(conn);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/** Best-effort close of a preflight connection; a teardown error must not mask the verdict. */
|
|
101
|
+
async function closeQuietly(conn) {
|
|
102
|
+
if (!conn)
|
|
103
|
+
return;
|
|
104
|
+
try {
|
|
105
|
+
await conn.close();
|
|
106
|
+
}
|
|
107
|
+
catch (closeErr) {
|
|
108
|
+
// Intentionally ignored: this connection only probed reachability, so a close
|
|
109
|
+
// failure is not actionable and must not overwrite the preflight result.
|
|
110
|
+
void closeErr;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=db-preflight.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db-preflight.js","sourceRoot":"","sources":["../../src/lib/db-preflight.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reads the highest migration version already applied to the target database from
|
|
3
|
+
* Skyway's history table.
|
|
4
|
+
*
|
|
5
|
+
* Returns `null` when there is no history (a fresh database) — which tells the fetch
|
|
6
|
+
* layer to use `baseline + tail`. A non-null version means "existing database, upgrade
|
|
7
|
+
* from here", so the fetch returns only the versioned migrations after it (no baseline,
|
|
8
|
+
* which Skyway never applies to a database that already has history).
|
|
9
|
+
*
|
|
10
|
+
* @module lib/db-version
|
|
11
|
+
*/
|
|
12
|
+
/** Minimal shape of a Skyway history record we read (the real record carries more fields). */
|
|
13
|
+
interface HistoryRecordLike {
|
|
14
|
+
Version: string | null;
|
|
15
|
+
Type: string;
|
|
16
|
+
Success?: boolean;
|
|
17
|
+
}
|
|
18
|
+
/** Minimal shape of the Skyway provider we use to read history (structurally compatible with the real one). */
|
|
19
|
+
export interface MigrationHistoryProvider {
|
|
20
|
+
Connect(): Promise<void>;
|
|
21
|
+
Disconnect(): Promise<void>;
|
|
22
|
+
History: {
|
|
23
|
+
Exists(schema: string, tableName: string): Promise<boolean>;
|
|
24
|
+
GetAllRecords(schema: string, tableName: string): Promise<readonly HistoryRecordLike[]>;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* SIDE EFFECTS: connects to the database to read the history table, then disconnects
|
|
29
|
+
* (on every exit path).
|
|
30
|
+
*
|
|
31
|
+
* @returns the highest applied version (Skyway's `<timestamp>` key), or `null` if the
|
|
32
|
+
* history table does not exist yet (fresh database).
|
|
33
|
+
*/
|
|
34
|
+
export declare function readCurrentDbVersion(provider: MigrationHistoryProvider, schema: string, historyTable: string): Promise<string | null>;
|
|
35
|
+
export {};
|
|
36
|
+
//# sourceMappingURL=db-version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db-version.d.ts","sourceRoot":"","sources":["../../src/lib/db-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,8FAA8F;AAC9F,UAAU,iBAAiB;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,+GAA+G;AAC/G,MAAM,WAAW,wBAAwB;IACvC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,EAAE;QACP,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC5D,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,iBAAiB,EAAE,CAAC,CAAC;KACzF,CAAC;CACH;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAW3I"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reads the highest migration version already applied to the target database from
|
|
3
|
+
* Skyway's history table.
|
|
4
|
+
*
|
|
5
|
+
* Returns `null` when there is no history (a fresh database) — which tells the fetch
|
|
6
|
+
* layer to use `baseline + tail`. A non-null version means "existing database, upgrade
|
|
7
|
+
* from here", so the fetch returns only the versioned migrations after it (no baseline,
|
|
8
|
+
* which Skyway never applies to a database that already has history).
|
|
9
|
+
*
|
|
10
|
+
* @module lib/db-version
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* SIDE EFFECTS: connects to the database to read the history table, then disconnects
|
|
14
|
+
* (on every exit path).
|
|
15
|
+
*
|
|
16
|
+
* @returns the highest applied version (Skyway's `<timestamp>` key), or `null` if the
|
|
17
|
+
* history table does not exist yet (fresh database).
|
|
18
|
+
*/
|
|
19
|
+
export async function readCurrentDbVersion(provider, schema, historyTable) {
|
|
20
|
+
await provider.Connect();
|
|
21
|
+
try {
|
|
22
|
+
if (!(await provider.History.Exists(schema, historyTable))) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
const records = await provider.History.GetAllRecords(schema, historyTable);
|
|
26
|
+
return highestAppliedVersion(records);
|
|
27
|
+
}
|
|
28
|
+
finally {
|
|
29
|
+
await provider.Disconnect();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/** Highest successful, non-schema-marker version among history records (mirrors Skyway's own rule). */
|
|
33
|
+
function highestAppliedVersion(records) {
|
|
34
|
+
let highest = null;
|
|
35
|
+
for (const record of records) {
|
|
36
|
+
if (record.Version === null || record.Type === 'SCHEMA' || record.Success === false) {
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
if (highest === null || record.Version > highest) {
|
|
40
|
+
highest = record.Version;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return highest;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=db-version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"db-version.js","sourceRoot":"","sources":["../../src/lib/db-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAmBH;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,QAAkC,EAAE,MAAc,EAAE,YAAoB;IACjH,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;IACzB,IAAI,CAAC;QACH,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC3E,OAAO,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;YAAS,CAAC;QACT,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,uGAAuG;AACvG,SAAS,qBAAqB,CAAC,OAAqC;IAClE,IAAI,OAAO,GAAkB,IAAI,CAAC;IAClC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACpF,SAAS;QACX,CAAC;QACD,IAAI,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,GAAG,OAAO,EAAE,CAAC;YACjD,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export type MigrationDialect = 'sqlserver' | 'postgresql';
|
|
2
|
+
export interface MigrationFetchResult {
|
|
3
|
+
/** Temp clone root to hand to Skyway as the migration location. */
|
|
4
|
+
dir: string;
|
|
5
|
+
/** Repo-relative migration paths checked out (empty when the full-history fallback was used). */
|
|
6
|
+
selected: string[];
|
|
7
|
+
/** True when partial clone was unavailable and the full `migrations/` dir was fetched instead. */
|
|
8
|
+
usedFallback: boolean;
|
|
9
|
+
/** Removes the temp clone. Callers MUST invoke this in a finally on every exit path. */
|
|
10
|
+
cleanup: () => Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Resolves a user-supplied tag/branch into a git ref.
|
|
14
|
+
* A semantic version (`2.123.0` / `v2.123.0`) maps to the `vX.Y.Z` release tag;
|
|
15
|
+
* anything else (e.g. `main`) is treated as a branch name unchanged.
|
|
16
|
+
*/
|
|
17
|
+
export declare function resolveGitRef(tagOrBranch: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* Pure selector: given the repo-relative migration paths present at a ref, return
|
|
20
|
+
* the minimal slice Skyway needs. Repeatable migrations are always included.
|
|
21
|
+
*
|
|
22
|
+
* Two modes, keyed on `currentVersion` (the highest migration already applied to the
|
|
23
|
+
* target database, or `null` for a fresh one):
|
|
24
|
+
*
|
|
25
|
+
* - **Fresh install** (`currentVersion == null`): `baseline + tail` — the highest `B`
|
|
26
|
+
* baseline plus every `V` after it. Skyway applies the baseline (consolidated schema)
|
|
27
|
+
* then the tail. This is the bandwidth-optimal path for a brand-new database.
|
|
28
|
+
* - **Existing-DB upgrade** (`currentVersion` set): every `V` strictly after the current
|
|
29
|
+
* version, with **no baseline**. Skyway never applies a `B` file to a database that
|
|
30
|
+
* already has history, and the baseline floor would wrongly skip the intermediate
|
|
31
|
+
* versioned migrations the DB still needs (e.g. a v5.36 file below a v5.37 baseline
|
|
32
|
+
* when upgrading a v5.35 database).
|
|
33
|
+
*
|
|
34
|
+
* With no baseline present (e.g. legacy v2) the fresh path returns the full versioned history.
|
|
35
|
+
*/
|
|
36
|
+
export declare function selectMigrationSlice(paths: readonly string[], currentVersion?: string | null): string[];
|
|
37
|
+
/**
|
|
38
|
+
* SIDE EFFECTS: clones from `repoUrl` over the network into a temp dir and checks out
|
|
39
|
+
* only the selected migration slice. Returns the temp dir plus a `cleanup` the caller
|
|
40
|
+
* MUST run in a finally. On any internal failure the temp dir is removed before throwing.
|
|
41
|
+
*/
|
|
42
|
+
export declare function fetchMigrationSlice(opts: {
|
|
43
|
+
repoUrl: string;
|
|
44
|
+
ref: string;
|
|
45
|
+
dialect: MigrationDialect;
|
|
46
|
+
/** Highest version already applied to the target DB; `null`/omitted = fresh install (baseline + tail). */
|
|
47
|
+
currentVersion?: string | null;
|
|
48
|
+
}): Promise<MigrationFetchResult>;
|
|
49
|
+
//# sourceMappingURL=migration-fetch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration-fetch.d.ts","sourceRoot":"","sources":["../../src/lib/migration-fetch.ts"],"names":[],"mappings":"AAyBA,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,YAAY,CAAC;AAE1D,MAAM,WAAW,oBAAoB;IACnC,mEAAmE;IACnE,GAAG,EAAE,MAAM,CAAC;IACZ,iGAAiG;IACjG,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,kGAAkG;IAClG,YAAY,EAAE,OAAO,CAAC;IACtB,wFAAwF;IACxF,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAKD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAIzD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,CAcvG;AA4BD;;;;GAIG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,gBAAgB,CAAC;IAC1B,0GAA0G;IAC1G,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,GAAG,OAAO,CAAC,oBAAoB,CAAC,CA2BhC"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module lib/migration-fetch
|
|
3
|
+
*
|
|
4
|
+
* Fetches the *minimal* slice of migration files needed to bring a database to a
|
|
5
|
+
* target version, instead of cloning the entire `migrations/` history.
|
|
6
|
+
*
|
|
7
|
+
* The selection depends on whether the target database is fresh or existing, because
|
|
8
|
+
* Skyway only ever applies baselines to a fresh (no-history) database:
|
|
9
|
+
*
|
|
10
|
+
* fresh install → [ highest `B` baseline ] + [ every `V` after it ] + [ all `R` repeatables ]
|
|
11
|
+
* existing upgrade → [ every `V` after the DB's current version ] + [ all `R` repeatables ] (no baseline)
|
|
12
|
+
*
|
|
13
|
+
* The existing-upgrade path is what makes incremental upgrades correct: a baseline floor
|
|
14
|
+
* would skip the intermediate versioned migrations a behind-the-baseline DB still needs.
|
|
15
|
+
* The git ref bounds the top of the range (only migrations at/below the target are in the
|
|
16
|
+
* tree). Selection uses the numeric `<timestamp>` filename token — Skyway's version key —
|
|
17
|
+
* via the shared {@link parseMigrationFilename}.
|
|
18
|
+
*/
|
|
19
|
+
import { mkdtempSync } from 'node:fs';
|
|
20
|
+
import { rm } from 'node:fs/promises';
|
|
21
|
+
import { tmpdir } from 'node:os';
|
|
22
|
+
import path from 'node:path';
|
|
23
|
+
import { parseMigrationFilename } from '../baseline/util.js';
|
|
24
|
+
/** Matches Flyway/Skyway repeatable migrations (`R__<desc>.sql`), which always run. */
|
|
25
|
+
const REPEATABLE_PATTERN = /^R__.+\.sql$/i;
|
|
26
|
+
/**
|
|
27
|
+
* Resolves a user-supplied tag/branch into a git ref.
|
|
28
|
+
* A semantic version (`2.123.0` / `v2.123.0`) maps to the `vX.Y.Z` release tag;
|
|
29
|
+
* anything else (e.g. `main`) is treated as a branch name unchanged.
|
|
30
|
+
*/
|
|
31
|
+
export function resolveGitRef(tagOrBranch) {
|
|
32
|
+
const isSemver = /^v?\d+\.\d+\.\d+$/.test(tagOrBranch);
|
|
33
|
+
if (!isSemver)
|
|
34
|
+
return tagOrBranch;
|
|
35
|
+
return tagOrBranch.startsWith('v') ? tagOrBranch : `v${tagOrBranch}`;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Pure selector: given the repo-relative migration paths present at a ref, return
|
|
39
|
+
* the minimal slice Skyway needs. Repeatable migrations are always included.
|
|
40
|
+
*
|
|
41
|
+
* Two modes, keyed on `currentVersion` (the highest migration already applied to the
|
|
42
|
+
* target database, or `null` for a fresh one):
|
|
43
|
+
*
|
|
44
|
+
* - **Fresh install** (`currentVersion == null`): `baseline + tail` — the highest `B`
|
|
45
|
+
* baseline plus every `V` after it. Skyway applies the baseline (consolidated schema)
|
|
46
|
+
* then the tail. This is the bandwidth-optimal path for a brand-new database.
|
|
47
|
+
* - **Existing-DB upgrade** (`currentVersion` set): every `V` strictly after the current
|
|
48
|
+
* version, with **no baseline**. Skyway never applies a `B` file to a database that
|
|
49
|
+
* already has history, and the baseline floor would wrongly skip the intermediate
|
|
50
|
+
* versioned migrations the DB still needs (e.g. a v5.36 file below a v5.37 baseline
|
|
51
|
+
* when upgrading a v5.35 database).
|
|
52
|
+
*
|
|
53
|
+
* With no baseline present (e.g. legacy v2) the fresh path returns the full versioned history.
|
|
54
|
+
*/
|
|
55
|
+
export function selectMigrationSlice(paths, currentVersion) {
|
|
56
|
+
const sqlPaths = paths.filter((p) => p.toLowerCase().endsWith('.sql'));
|
|
57
|
+
const repeatables = sqlPaths.filter((p) => REPEATABLE_PATTERN.test(path.basename(p)));
|
|
58
|
+
if (currentVersion != null) {
|
|
59
|
+
// Existing DB: upgrade with versioned migrations after the current version only.
|
|
60
|
+
const versioned = sqlPaths.filter((p) => isVersionedAfter(p, currentVersion));
|
|
61
|
+
return Array.from(new Set([...versioned, ...repeatables]));
|
|
62
|
+
}
|
|
63
|
+
// Fresh DB: baseline + everything after it.
|
|
64
|
+
const floorTimestamp = highestBaselineTimestamp(sqlPaths);
|
|
65
|
+
const versioned = sqlPaths.filter((p) => isInVersionedSlice(p, floorTimestamp));
|
|
66
|
+
return Array.from(new Set([...versioned, ...repeatables]));
|
|
67
|
+
}
|
|
68
|
+
/** True if `filePath` is a versioned (`V`) migration whose timestamp is strictly after `currentVersion`. */
|
|
69
|
+
function isVersionedAfter(filePath, currentVersion) {
|
|
70
|
+
const parsed = parseMigrationFilename(path.basename(filePath));
|
|
71
|
+
return parsed?.kind === 'V' && parsed.timestamp > currentVersion;
|
|
72
|
+
}
|
|
73
|
+
/** Returns the timestamp of the latest `B` baseline among the paths, or null if none. */
|
|
74
|
+
function highestBaselineTimestamp(sqlPaths) {
|
|
75
|
+
let floor = null;
|
|
76
|
+
for (const p of sqlPaths) {
|
|
77
|
+
const parsed = parseMigrationFilename(path.basename(p));
|
|
78
|
+
if (!parsed || parsed.kind !== 'B')
|
|
79
|
+
continue;
|
|
80
|
+
if (floor === null || parsed.timestamp > floor)
|
|
81
|
+
floor = parsed.timestamp;
|
|
82
|
+
}
|
|
83
|
+
return floor;
|
|
84
|
+
}
|
|
85
|
+
/** True if a versioned/baseline path belongs in the slice given the baseline floor. */
|
|
86
|
+
function isInVersionedSlice(filePath, floorTimestamp) {
|
|
87
|
+
const parsed = parseMigrationFilename(path.basename(filePath));
|
|
88
|
+
if (!parsed)
|
|
89
|
+
return false; // repeatables and non-migration files handled elsewhere
|
|
90
|
+
if (floorTimestamp === null)
|
|
91
|
+
return parsed.kind === 'V'; // no baseline → all versioned
|
|
92
|
+
if (parsed.kind === 'B')
|
|
93
|
+
return parsed.timestamp === floorTimestamp; // only the floor baseline
|
|
94
|
+
return parsed.timestamp > floorTimestamp; // versioned migrations strictly after the baseline
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* SIDE EFFECTS: clones from `repoUrl` over the network into a temp dir and checks out
|
|
98
|
+
* only the selected migration slice. Returns the temp dir plus a `cleanup` the caller
|
|
99
|
+
* MUST run in a finally. On any internal failure the temp dir is removed before throwing.
|
|
100
|
+
*/
|
|
101
|
+
export async function fetchMigrationSlice(opts) {
|
|
102
|
+
const migrationsRoot = opts.dialect === 'postgresql' ? 'migrations-pg' : 'migrations';
|
|
103
|
+
const dir = mkdtempSync(path.join(tmpdir(), 'mj-migrations-'));
|
|
104
|
+
const cleanup = async () => {
|
|
105
|
+
await rm(dir, { recursive: true, force: true });
|
|
106
|
+
};
|
|
107
|
+
try {
|
|
108
|
+
// Deferred load: the pure selector (selectMigrationSlice/resolveGitRef) carries no
|
|
109
|
+
// runtime dependency on simple-git — only an actual fetch pulls it in.
|
|
110
|
+
const { simpleGit } = await import('simple-git');
|
|
111
|
+
const git = simpleGit(dir);
|
|
112
|
+
const partialOk = await tryPartialClone(git, opts.repoUrl, opts.ref, dir);
|
|
113
|
+
if (!partialOk) {
|
|
114
|
+
await fullSparseClone(git, opts.repoUrl, opts.ref, dir, migrationsRoot);
|
|
115
|
+
return { dir, selected: [], usedFallback: true, cleanup };
|
|
116
|
+
}
|
|
117
|
+
const allPaths = await listTreePaths(git, migrationsRoot);
|
|
118
|
+
const selected = selectMigrationSlice(allPaths, opts.currentVersion);
|
|
119
|
+
const checkoutTargets = selected.length > 0 ? selected : [migrationsRoot];
|
|
120
|
+
await git.raw(['sparse-checkout', 'set', '--no-cone', ...checkoutTargets]);
|
|
121
|
+
await git.raw(['checkout']);
|
|
122
|
+
return { dir, selected, usedFallback: false, cleanup };
|
|
123
|
+
}
|
|
124
|
+
catch (err) {
|
|
125
|
+
await cleanup();
|
|
126
|
+
throw err;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
/** Attempts a blobless, no-checkout shallow clone. Returns false if the server/git rejects the filter. */
|
|
130
|
+
async function tryPartialClone(git, repoUrl, ref, dir) {
|
|
131
|
+
try {
|
|
132
|
+
await git.clone(repoUrl, dir, ['--no-checkout', '--filter=blob:none', '--depth=1', '--branch', ref]);
|
|
133
|
+
return true;
|
|
134
|
+
}
|
|
135
|
+
catch {
|
|
136
|
+
return false; // caller falls back to a full sparse clone
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
/** Fallback path: full shallow sparse clone of the whole migrations dir (today's behavior). */
|
|
140
|
+
async function fullSparseClone(git, repoUrl, ref, dir, migrationsRoot) {
|
|
141
|
+
await git.clone(repoUrl, dir, ['--sparse', '--depth=1', '--branch', ref]);
|
|
142
|
+
await git.raw(['sparse-checkout', 'set', migrationsRoot]);
|
|
143
|
+
}
|
|
144
|
+
/** Lists repo-relative file paths under `migrationsRoot` at HEAD without downloading blobs. */
|
|
145
|
+
async function listTreePaths(git, migrationsRoot) {
|
|
146
|
+
const out = await git.raw(['ls-tree', '-r', '--name-only', 'HEAD', '--', migrationsRoot]);
|
|
147
|
+
return out
|
|
148
|
+
.split('\n')
|
|
149
|
+
.map((line) => line.trim())
|
|
150
|
+
.filter((line) => line.length > 0);
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=migration-fetch.js.map
|