chkit 0.1.2-beta.7 → 0.2.0-beta.12
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/README.md +69 -56
- package/dist/bin/chkit.js +82 -31
- package/dist/bin/chkit.js.map +1 -1
- package/dist/commands/check/output.js +1 -1
- package/dist/commands/check/output.js.map +1 -1
- package/dist/commands/drift/command.d.ts.map +1 -1
- package/dist/commands/drift/command.js +9 -0
- package/dist/commands/drift/command.js.map +1 -1
- package/dist/commands/drift/compare.d.ts +52 -4
- package/dist/commands/drift/compare.d.ts.map +1 -1
- package/dist/commands/drift/compare.js +258 -49
- package/dist/commands/drift/compare.js.map +1 -1
- package/dist/commands/drift/payload.d.ts +1 -0
- package/dist/commands/drift/payload.d.ts.map +1 -1
- package/dist/commands/drift/payload.js +59 -10
- package/dist/commands/drift/payload.js.map +1 -1
- package/dist/commands/generate/command.d.ts.map +1 -1
- package/dist/commands/generate/command.js +73 -33
- package/dist/commands/generate/command.js.map +1 -1
- package/dist/commands/generate/cutover.d.ts +56 -0
- package/dist/commands/generate/cutover.d.ts.map +1 -0
- package/dist/commands/generate/cutover.js +138 -0
- package/dist/commands/generate/cutover.js.map +1 -0
- package/dist/commands/generate/output.d.ts +3 -2
- package/dist/commands/generate/output.d.ts.map +1 -1
- package/dist/commands/generate/output.js +17 -2
- package/dist/commands/generate/output.js.map +1 -1
- package/dist/commands/generate/plan-pipeline.d.ts.map +1 -1
- package/dist/commands/generate/plan-pipeline.js +35 -36
- package/dist/commands/generate/plan-pipeline.js.map +1 -1
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +21 -4
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/migrate/abandon.d.ts +39 -0
- package/dist/commands/migrate/abandon.d.ts.map +1 -0
- package/dist/commands/migrate/abandon.js +76 -0
- package/dist/commands/migrate/abandon.js.map +1 -0
- package/dist/commands/migrate/apply.d.ts +10 -1
- package/dist/commands/migrate/apply.d.ts.map +1 -1
- package/dist/commands/migrate/apply.js +108 -10
- package/dist/commands/migrate/apply.js.map +1 -1
- package/dist/commands/migrate/async-apply.d.ts +11 -3
- package/dist/commands/migrate/async-apply.d.ts.map +1 -1
- package/dist/commands/migrate/async-apply.js +113 -27
- package/dist/commands/migrate/async-apply.js.map +1 -1
- package/dist/commands/migrate/command.d.ts +46 -1
- package/dist/commands/migrate/command.d.ts.map +1 -1
- package/dist/commands/migrate/command.js +159 -35
- package/dist/commands/migrate/command.js.map +1 -1
- package/dist/commands/migrate/empty.d.ts +8 -0
- package/dist/commands/migrate/empty.d.ts.map +1 -0
- package/dist/commands/migrate/empty.js +17 -0
- package/dist/commands/migrate/empty.js.map +1 -0
- package/dist/commands/migrate/errors.d.ts +22 -0
- package/dist/commands/migrate/errors.d.ts.map +1 -0
- package/dist/commands/migrate/errors.js +31 -0
- package/dist/commands/migrate/errors.js.map +1 -0
- package/dist/commands/migrate/output.d.ts +31 -0
- package/dist/commands/migrate/output.d.ts.map +1 -1
- package/dist/commands/migrate/output.js +120 -9
- package/dist/commands/migrate/output.js.map +1 -1
- package/dist/commands/migrate/prompts.d.ts +1 -0
- package/dist/commands/migrate/prompts.d.ts.map +1 -1
- package/dist/commands/migrate/prompts.js +3 -0
- package/dist/commands/migrate/prompts.js.map +1 -1
- package/dist/commands/migrate/recovery.d.ts +90 -0
- package/dist/commands/migrate/recovery.d.ts.map +1 -0
- package/dist/commands/migrate/recovery.js +163 -0
- package/dist/commands/migrate/recovery.js.map +1 -0
- package/dist/commands/migrate/retry.d.ts +37 -0
- package/dist/commands/migrate/retry.d.ts.map +1 -0
- package/dist/commands/migrate/retry.js +46 -0
- package/dist/commands/migrate/retry.js.map +1 -0
- package/dist/commands/migrate/settings.d.ts +8 -0
- package/dist/commands/migrate/settings.d.ts.map +1 -0
- package/dist/commands/migrate/settings.js +40 -0
- package/dist/commands/migrate/settings.js.map +1 -0
- package/dist/commands/plugin.d.ts.map +1 -1
- package/dist/commands/plugin.js +28 -4
- package/dist/commands/plugin.js.map +1 -1
- package/dist/commands/query.d.ts.map +1 -1
- package/dist/commands/query.js +11 -15
- package/dist/commands/query.js.map +1 -1
- package/dist/commands/registry.d.ts +2 -0
- package/dist/commands/registry.d.ts.map +1 -0
- package/dist/commands/registry.js +228 -0
- package/dist/commands/registry.js.map +1 -0
- package/dist/commands/snapshot/command.d.ts +3 -0
- package/dist/commands/snapshot/command.d.ts.map +1 -0
- package/dist/commands/snapshot/command.js +32 -0
- package/dist/commands/snapshot/command.js.map +1 -0
- package/dist/commands/snapshot/output.d.ts +24 -0
- package/dist/commands/snapshot/output.d.ts.map +1 -0
- package/dist/commands/snapshot/output.js +86 -0
- package/dist/commands/snapshot/output.js.map +1 -0
- package/dist/commands/snapshot/rebuild.d.ts +19 -0
- package/dist/commands/snapshot/rebuild.d.ts.map +1 -0
- package/dist/commands/snapshot/rebuild.js +94 -0
- package/dist/commands/snapshot/rebuild.js.map +1 -0
- package/dist/internal-plugins/core/plugin.d.ts.map +1 -1
- package/dist/internal-plugins/core/plugin.js +2 -0
- package/dist/internal-plugins/core/plugin.js.map +1 -1
- package/dist/registry/build.d.ts +17 -0
- package/dist/registry/build.d.ts.map +1 -0
- package/dist/registry/build.js +94 -0
- package/dist/registry/build.js.map +1 -0
- package/dist/registry/dependencies.d.ts +19 -0
- package/dist/registry/dependencies.d.ts.map +1 -0
- package/dist/registry/dependencies.js +105 -0
- package/dist/registry/dependencies.js.map +1 -0
- package/dist/registry/files.d.ts +4 -0
- package/dist/registry/files.d.ts.map +1 -0
- package/dist/registry/files.js +33 -0
- package/dist/registry/files.js.map +1 -0
- package/dist/registry/install.d.ts +55 -0
- package/dist/registry/install.d.ts.map +1 -0
- package/dist/registry/install.js +175 -0
- package/dist/registry/install.js.map +1 -0
- package/dist/registry/model.d.ts +172 -0
- package/dist/registry/model.d.ts.map +1 -0
- package/dist/registry/model.js +161 -0
- package/dist/registry/model.js.map +1 -0
- package/dist/registry/project-config.d.ts +18 -0
- package/dist/registry/project-config.d.ts.map +1 -0
- package/dist/registry/project-config.js +337 -0
- package/dist/registry/project-config.js.map +1 -0
- package/dist/registry/resolve.d.ts +7 -0
- package/dist/registry/resolve.d.ts.map +1 -0
- package/dist/registry/resolve.js +136 -0
- package/dist/registry/resolve.js.map +1 -0
- package/dist/runtime/argv.d.ts +3 -0
- package/dist/runtime/argv.d.ts.map +1 -0
- package/dist/runtime/argv.js +29 -0
- package/dist/runtime/argv.js.map +1 -0
- package/dist/runtime/command-dispatch.d.ts +2 -1
- package/dist/runtime/command-dispatch.d.ts.map +1 -1
- package/dist/runtime/command-dispatch.js +15 -7
- package/dist/runtime/command-dispatch.js.map +1 -1
- package/dist/runtime/config-merge.d.ts.map +1 -1
- package/dist/runtime/config-merge.js +2 -1
- package/dist/runtime/config-merge.js.map +1 -1
- package/dist/runtime/config.d.ts.map +1 -1
- package/dist/runtime/config.js +2 -1
- package/dist/runtime/config.js.map +1 -1
- package/dist/runtime/global-flags.d.ts +4 -0
- package/dist/runtime/global-flags.d.ts.map +1 -1
- package/dist/runtime/global-flags.js +1 -0
- package/dist/runtime/global-flags.js.map +1 -1
- package/dist/runtime/help.d.ts +1 -1
- package/dist/runtime/help.d.ts.map +1 -1
- package/dist/runtime/help.js +13 -4
- package/dist/runtime/help.js.map +1 -1
- package/dist/runtime/journal-store.d.ts.map +1 -1
- package/dist/runtime/journal-store.js +178 -42
- package/dist/runtime/journal-store.js.map +1 -1
- package/dist/runtime/json-output.d.ts +15 -1
- package/dist/runtime/json-output.d.ts.map +1 -1
- package/dist/runtime/json-output.js +43 -2
- package/dist/runtime/json-output.js.map +1 -1
- package/dist/runtime/migration-store.d.ts +1 -1
- package/dist/runtime/migration-store.d.ts.map +1 -1
- package/dist/runtime/migration-store.js +17 -16
- package/dist/runtime/migration-store.js.map +1 -1
- package/dist/runtime/plugin-runtime/executor-debug.d.ts.map +1 -1
- package/dist/runtime/plugin-runtime/executor-debug.js +10 -8
- package/dist/runtime/plugin-runtime/executor-debug.js.map +1 -1
- package/dist/runtime/plugin-runtime/loader.js +1 -1
- package/dist/runtime/plugin-runtime/loader.js.map +1 -1
- package/dist/runtime/safety-markers.d.ts +4 -2
- package/dist/runtime/safety-markers.d.ts.map +1 -1
- package/dist/runtime/safety-markers.js +4 -2
- package/dist/runtime/safety-markers.js.map +1 -1
- package/dist/runtime/schema-loader.d.ts +20 -1
- package/dist/runtime/schema-loader.d.ts.map +1 -1
- package/dist/runtime/schema-loader.js +26 -0
- package/dist/runtime/schema-loader.js.map +1 -1
- package/dist/runtime/snapshot-document.d.ts +33 -0
- package/dist/runtime/snapshot-document.d.ts.map +1 -0
- package/dist/runtime/snapshot-document.js +65 -0
- package/dist/runtime/snapshot-document.js.map +1 -0
- package/package.json +20 -7
- package/dist/bin/clickhouse-resource.d.ts +0 -4
- package/dist/bin/clickhouse-resource.d.ts.map +0 -1
- package/dist/bin/clickhouse-resource.js +0 -11
- package/dist/bin/clickhouse-resource.js.map +0 -1
- package/dist/bin/command-dispatch.d.ts +0 -13
- package/dist/bin/command-dispatch.d.ts.map +0 -1
- package/dist/bin/command-dispatch.js +0 -186
- package/dist/bin/command-dispatch.js.map +0 -1
- package/dist/bin/command-registry.d.ts +0 -34
- package/dist/bin/command-registry.d.ts.map +0 -1
- package/dist/bin/command-registry.js +0 -87
- package/dist/bin/command-registry.js.map +0 -1
- package/dist/bin/commands/check.d.ts +0 -3
- package/dist/bin/commands/check.d.ts.map +0 -1
- package/dist/bin/commands/check.js +0 -181
- package/dist/bin/commands/check.js.map +0 -1
- package/dist/bin/commands/codegen.d.ts +0 -2
- package/dist/bin/commands/codegen.d.ts.map +0 -1
- package/dist/bin/commands/codegen.js +0 -25
- package/dist/bin/commands/codegen.js.map +0 -1
- package/dist/bin/commands/drift.d.ts +0 -27
- package/dist/bin/commands/drift.d.ts.map +0 -1
- package/dist/bin/commands/drift.js +0 -220
- package/dist/bin/commands/drift.js.map +0 -1
- package/dist/bin/commands/generate/output.d.ts +0 -8
- package/dist/bin/commands/generate/output.d.ts.map +0 -1
- package/dist/bin/commands/generate/output.js +0 -58
- package/dist/bin/commands/generate/output.js.map +0 -1
- package/dist/bin/commands/generate/plan-pipeline.d.ts +0 -7
- package/dist/bin/commands/generate/plan-pipeline.d.ts.map +0 -1
- package/dist/bin/commands/generate/plan-pipeline.js +0 -143
- package/dist/bin/commands/generate/plan-pipeline.js.map +0 -1
- package/dist/bin/commands/generate/rename-mappings.d.ts +0 -29
- package/dist/bin/commands/generate/rename-mappings.d.ts.map +0 -1
- package/dist/bin/commands/generate/rename-mappings.js +0 -195
- package/dist/bin/commands/generate/rename-mappings.js.map +0 -1
- package/dist/bin/commands/generate.d.ts +0 -3
- package/dist/bin/commands/generate.d.ts.map +0 -1
- package/dist/bin/commands/generate.js +0 -158
- package/dist/bin/commands/generate.js.map +0 -1
- package/dist/bin/commands/init.d.ts +0 -2
- package/dist/bin/commands/init.d.ts.map +0 -1
- package/dist/bin/commands/init.js +0 -12
- package/dist/bin/commands/init.js.map +0 -1
- package/dist/bin/commands/migrate.d.ts +0 -3
- package/dist/bin/commands/migrate.d.ts.map +0 -1
- package/dist/bin/commands/migrate.js +0 -288
- package/dist/bin/commands/migrate.js.map +0 -1
- package/dist/bin/commands/plugin-like.d.ts +0 -38
- package/dist/bin/commands/plugin-like.d.ts.map +0 -1
- package/dist/bin/commands/plugin-like.js +0 -101
- package/dist/bin/commands/plugin-like.js.map +0 -1
- package/dist/bin/commands/plugin.d.ts +0 -3
- package/dist/bin/commands/plugin.d.ts.map +0 -1
- package/dist/bin/commands/plugin.js +0 -148
- package/dist/bin/commands/plugin.js.map +0 -1
- package/dist/bin/commands/pull.d.ts +0 -2
- package/dist/bin/commands/pull.d.ts.map +0 -1
- package/dist/bin/commands/pull.js +0 -25
- package/dist/bin/commands/pull.js.map +0 -1
- package/dist/bin/commands/status.d.ts +0 -3
- package/dist/bin/commands/status.d.ts.map +0 -1
- package/dist/bin/commands/status.js +0 -63
- package/dist/bin/commands/status.js.map +0 -1
- package/dist/bin/commands/typegen.d.ts +0 -2
- package/dist/bin/commands/typegen.d.ts.map +0 -1
- package/dist/bin/commands/typegen.js +0 -25
- package/dist/bin/commands/typegen.js.map +0 -1
- package/dist/bin/config.d.ts +0 -13
- package/dist/bin/config.d.ts.map +0 -1
- package/dist/bin/config.js +0 -48
- package/dist/bin/config.js.map +0 -1
- package/dist/bin/debug.d.ts +0 -3
- package/dist/bin/debug.d.ts.map +0 -1
- package/dist/bin/debug.js +0 -14
- package/dist/bin/debug.js.map +0 -1
- package/dist/bin/global-flags.d.ts +0 -16
- package/dist/bin/global-flags.d.ts.map +0 -1
- package/dist/bin/global-flags.js +0 -7
- package/dist/bin/global-flags.js.map +0 -1
- package/dist/bin/help.d.ts +0 -5
- package/dist/bin/help.d.ts.map +0 -1
- package/dist/bin/help.js +0 -84
- package/dist/bin/help.js.map +0 -1
- package/dist/bin/internal-plugins/index.d.ts +0 -3
- package/dist/bin/internal-plugins/index.d.ts.map +0 -1
- package/dist/bin/internal-plugins/index.js +0 -5
- package/dist/bin/internal-plugins/index.js.map +0 -1
- package/dist/bin/internal-plugins/skill-hint.d.ts +0 -31
- package/dist/bin/internal-plugins/skill-hint.d.ts.map +0 -1
- package/dist/bin/internal-plugins/skill-hint.js +0 -172
- package/dist/bin/internal-plugins/skill-hint.js.map +0 -1
- package/dist/bin/journal-store.d.ts +0 -10
- package/dist/bin/journal-store.d.ts.map +0 -1
- package/dist/bin/journal-store.js +0 -137
- package/dist/bin/journal-store.js.map +0 -1
- package/dist/bin/json-output.d.ts +0 -5
- package/dist/bin/json-output.d.ts.map +0 -1
- package/dist/bin/json-output.js +0 -21
- package/dist/bin/json-output.js.map +0 -1
- package/dist/bin/lib.d.ts +0 -5
- package/dist/bin/lib.d.ts.map +0 -1
- package/dist/bin/lib.js +0 -5
- package/dist/bin/lib.js.map +0 -1
- package/dist/bin/logging.d.ts +0 -3
- package/dist/bin/logging.d.ts.map +0 -1
- package/dist/bin/logging.js +0 -31
- package/dist/bin/logging.js.map +0 -1
- package/dist/bin/migration-store.d.ts +0 -22
- package/dist/bin/migration-store.d.ts.map +0 -1
- package/dist/bin/migration-store.js +0 -60
- package/dist/bin/migration-store.js.map +0 -1
- package/dist/bin/plugin-runtime.d.ts +0 -45
- package/dist/bin/plugin-runtime.d.ts.map +0 -1
- package/dist/bin/plugin-runtime.js +0 -513
- package/dist/bin/plugin-runtime.js.map +0 -1
- package/dist/bin/safety-markers.d.ts +0 -23
- package/dist/bin/safety-markers.d.ts.map +0 -1
- package/dist/bin/safety-markers.js +0 -85
- package/dist/bin/safety-markers.js.map +0 -1
- package/dist/bin/schema-loader.d.ts +0 -3
- package/dist/bin/schema-loader.d.ts.map +0 -1
- package/dist/bin/schema-loader.js +0 -11
- package/dist/bin/schema-loader.js.map +0 -1
- package/dist/bin/table-scope.d.ts +0 -38
- package/dist/bin/table-scope.d.ts.map +0 -1
- package/dist/bin/table-scope.js +0 -167
- package/dist/bin/table-scope.js.map +0 -1
- package/dist/bin/version.d.ts +0 -2
- package/dist/bin/version.d.ts.map +0 -1
- package/dist/bin/version.js +0 -5
- package/dist/bin/version.js.map +0 -1
- package/dist/drift-diff.d.ts +0 -8
- package/dist/drift-diff.d.ts.map +0 -1
- package/dist/drift-diff.js +0 -46
- package/dist/drift-diff.js.map +0 -1
- package/dist/drift.d.ts +0 -66
- package/dist/drift.d.ts.map +0 -1
- package/dist/drift.js +0 -220
- package/dist/drift.js.map +0 -1
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { mkdir } from 'node:fs/promises';
|
|
2
|
+
import { join, relative } from 'node:path';
|
|
3
|
+
import process from 'node:process';
|
|
2
4
|
import { defineFlags, typedFlags, } from '../../plugins.js';
|
|
3
5
|
import { resolveDirs } from '../../runtime/config.js';
|
|
4
6
|
import { debug } from '../../runtime/debug.js';
|
|
@@ -6,15 +8,39 @@ import { GLOBAL_FLAGS } from '../../runtime/global-flags.js';
|
|
|
6
8
|
import { createJournalStore } from '../../runtime/journal-store.js';
|
|
7
9
|
import { findChecksumMismatches, listMigrations, readSnapshot, } from '../../runtime/migration-store.js';
|
|
8
10
|
import { resolveTableScope, tableKeysFromDefinitions } from '../../runtime/table-scope.js';
|
|
11
|
+
import { abandonMigrationState, abandonReport, readAbandonableState } from './abandon.js';
|
|
9
12
|
import { applyMigration } from './apply.js';
|
|
10
13
|
import { scanDestructive } from './destructive.js';
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
14
|
+
import { findEmptyMigrations } from './empty.js';
|
|
15
|
+
import { emptyMigrationsError, MigrateError } from './errors.js';
|
|
16
|
+
import { emitAbandonJson, emitApplySummaryJson, emitChecksumMismatchJson, emitDestructiveBlockedJson, emitEmptyMigrationsBlockedJson, emitNoPending, emitNoScopeMatch, emitPlanJson, renderAbandonPlanOnlyNotice, renderAbandonText, renderApplied, renderApplySummary, renderMigrationLog, renderPlanOnlyNotice, renderPlanText, } from './output.js';
|
|
17
|
+
import { confirmAbandon, confirmApply, confirmDestructiveExecution, isBackgroundOrCI, printDestructiveOperationDetails, } from './prompts.js';
|
|
18
|
+
import { resolveRecoveryTargets } from './recovery.js';
|
|
19
|
+
import { resolveRetry } from './retry.js';
|
|
13
20
|
import { filterPendingByScope } from './scope.js';
|
|
21
|
+
import { parseSettingFlags } from './settings.js';
|
|
14
22
|
const MIGRATE_FLAGS = defineFlags([
|
|
15
23
|
{ name: '--apply', type: 'boolean', description: 'Apply pending migrations on ClickHouse (no prompt)' },
|
|
16
24
|
{ name: '--execute', type: 'boolean', description: 'Alias for --apply' },
|
|
17
25
|
{ name: '--allow-destructive', type: 'boolean', description: 'Allow destructive migrations tagged with risk=danger' },
|
|
26
|
+
{
|
|
27
|
+
name: '--retry',
|
|
28
|
+
type: 'string',
|
|
29
|
+
description: 'Resume a failed migration after editing its file (skips completed statements)',
|
|
30
|
+
placeholder: '<migration>',
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
name: '--abandon',
|
|
34
|
+
type: 'string',
|
|
35
|
+
description: 'Reset a failed migration so the next apply runs it from statement 1 (journal only; previews without --apply)',
|
|
36
|
+
placeholder: '<migration>',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
name: '--setting',
|
|
40
|
+
type: 'string[]',
|
|
41
|
+
description: 'ClickHouse query setting sent with each migration statement, e.g. max_table_size_to_drop=0 (repeatable)',
|
|
42
|
+
placeholder: '<name=value>',
|
|
43
|
+
},
|
|
18
44
|
]);
|
|
19
45
|
export const migrateCommand = {
|
|
20
46
|
name: 'migrate',
|
|
@@ -22,25 +48,33 @@ export const migrateCommand = {
|
|
|
22
48
|
flags: MIGRATE_FLAGS,
|
|
23
49
|
run: cmdMigrate,
|
|
24
50
|
};
|
|
51
|
+
const TERMINAL_PROMPT = {
|
|
52
|
+
isInteractive: () => !isBackgroundOrCI(),
|
|
53
|
+
confirm: confirmAbandon,
|
|
54
|
+
};
|
|
25
55
|
async function cmdMigrate(runCtx) {
|
|
26
56
|
const ctx = await prepareMigration(runCtx);
|
|
57
|
+
if (ctx.abandonTarget !== undefined)
|
|
58
|
+
return runAbandon(ctx, ctx.abandonTarget);
|
|
27
59
|
const checksumExit = await runChecksumGate(ctx);
|
|
28
60
|
if (checksumExit !== undefined)
|
|
29
61
|
return checksumExit;
|
|
30
|
-
const
|
|
31
|
-
if (
|
|
32
|
-
return
|
|
33
|
-
const
|
|
34
|
-
const planExit = await renderPlan(ctx, pending, undeterminedScope);
|
|
62
|
+
const plan = await resolvePendingPlan(ctx);
|
|
63
|
+
if (plan.pending.length === 0)
|
|
64
|
+
return renderNothingPending(ctx, plan);
|
|
65
|
+
const planExit = await renderPlan(ctx, plan);
|
|
35
66
|
if (planExit !== undefined)
|
|
36
67
|
return planExit;
|
|
68
|
+
const emptyExit = runEmptyMigrationGate(ctx, plan.emptyMigrations);
|
|
69
|
+
if (emptyExit !== undefined)
|
|
70
|
+
return emptyExit;
|
|
37
71
|
const confirmExit = await runConfirmGate(ctx);
|
|
38
72
|
if (confirmExit !== undefined)
|
|
39
73
|
return confirmExit;
|
|
40
|
-
const destructiveExit = await runDestructiveGate(ctx, pending);
|
|
74
|
+
const destructiveExit = await runDestructiveGate(ctx, plan.pending);
|
|
41
75
|
if (destructiveExit !== undefined)
|
|
42
76
|
return destructiveExit;
|
|
43
|
-
return applyPending(ctx,
|
|
77
|
+
return applyPending(ctx, plan);
|
|
44
78
|
}
|
|
45
79
|
/** Parse flags, resolve deps, run onConfigLoaded, and load the pending set. */
|
|
46
80
|
async function prepareMigration(runCtx) {
|
|
@@ -48,16 +82,21 @@ async function prepareMigration(runCtx) {
|
|
|
48
82
|
const f = typedFlags(flags, [...GLOBAL_FLAGS, ...MIGRATE_FLAGS]);
|
|
49
83
|
const executeRequested = f['--apply'] === true || f['--execute'] === true;
|
|
50
84
|
const allowDestructive = f['--allow-destructive'] === true;
|
|
85
|
+
const settings = parseSettingFlags(f['--setting']);
|
|
51
86
|
const tableSelector = f['--table'];
|
|
52
87
|
const jsonMode = f['--json'] === true;
|
|
88
|
+
const { retryTarget, abandonTarget } = resolveRecoveryTargets(flags);
|
|
53
89
|
const { migrationsDir, metaDir } = resolveDirs(config);
|
|
54
|
-
debug('migrate', `flags: execute=${executeRequested}, allowDestructive=${allowDestructive}, json=${jsonMode}`
|
|
90
|
+
debug('migrate', `flags: execute=${executeRequested}, allowDestructive=${allowDestructive}, json=${jsonMode}, ` +
|
|
91
|
+
`retry=${retryTarget ?? '-'}, abandon=${abandonTarget ?? '-'}`);
|
|
55
92
|
if (!pluginContext.hasExecutor) {
|
|
56
93
|
throw new Error('clickhouse config is required for migrate (journal is stored in ClickHouse)');
|
|
57
94
|
}
|
|
58
95
|
const db = pluginContext.executor;
|
|
59
96
|
const journalStore = createJournalStore(db, config.clickhouse?.cluster);
|
|
60
|
-
|
|
97
|
+
// --abandon only changes the journal and rejects --table, so it does not
|
|
98
|
+
// read snapshot.json: a conflicted snapshot cannot block it.
|
|
99
|
+
const snapshot = abandonTarget === undefined ? await readSnapshot(metaDir) : null;
|
|
61
100
|
const tableScope = resolveTableScope(tableSelector, tableKeysFromDefinitions(snapshot?.definitions ?? []));
|
|
62
101
|
const mode = executeRequested ? 'execute' : 'plan';
|
|
63
102
|
await pluginRuntime.runOnConfigLoaded({
|
|
@@ -69,6 +108,9 @@ async function prepareMigration(runCtx) {
|
|
|
69
108
|
});
|
|
70
109
|
await mkdir(migrationsDir, { recursive: true });
|
|
71
110
|
const files = await listMigrations(migrationsDir);
|
|
111
|
+
if (retryTarget !== undefined && !files.includes(retryTarget)) {
|
|
112
|
+
throw new MigrateError('migration_not_found', `--retry: no migration file named ${retryTarget} in ${migrationsDir}. To reset the journal state of a migration whose file was deleted, use chkit migrate --abandon ${retryTarget}.`);
|
|
113
|
+
}
|
|
72
114
|
const journal = await journalStore.readJournal();
|
|
73
115
|
const appliedNames = new Set(journal.applied.map((entry) => entry.name));
|
|
74
116
|
const pendingAll = files.filter((file) => !appliedNames.has(file));
|
|
@@ -77,8 +119,10 @@ async function prepareMigration(runCtx) {
|
|
|
77
119
|
jsonMode,
|
|
78
120
|
executeRequested,
|
|
79
121
|
allowDestructive,
|
|
122
|
+
settings,
|
|
80
123
|
mode,
|
|
81
124
|
migrationsDir,
|
|
125
|
+
metaDir,
|
|
82
126
|
db,
|
|
83
127
|
journalStore,
|
|
84
128
|
config,
|
|
@@ -86,9 +130,53 @@ async function prepareMigration(runCtx) {
|
|
|
86
130
|
pluginRuntime,
|
|
87
131
|
tableScope,
|
|
88
132
|
journal,
|
|
133
|
+
files,
|
|
134
|
+
appliedNames,
|
|
89
135
|
pendingAll,
|
|
136
|
+
retryTarget,
|
|
137
|
+
abandonTarget,
|
|
90
138
|
};
|
|
91
139
|
}
|
|
140
|
+
/**
|
|
141
|
+
* --abandon <migration>: reset the journal state of a failed migration so the
|
|
142
|
+
* next apply runs it from statement 1. Without --apply it only previews, like
|
|
143
|
+
* the rest of migrate, or asks first in an interactive terminal. Runs before
|
|
144
|
+
* every other gate and applies nothing.
|
|
145
|
+
*/
|
|
146
|
+
export async function runAbandon(ctx, migration, prompt = TERMINAL_PROMPT) {
|
|
147
|
+
const { jsonMode, executeRequested, journalStore, tableScope } = ctx;
|
|
148
|
+
const state = await readAbandonableState({ migration, appliedNames: ctx.appliedNames }, { journalStore });
|
|
149
|
+
const report = abandonReport(state);
|
|
150
|
+
const textInput = {
|
|
151
|
+
fileExists: ctx.files.includes(migration),
|
|
152
|
+
snapshotFile: relative(process.cwd(), join(ctx.metaDir, 'snapshot.json')),
|
|
153
|
+
};
|
|
154
|
+
if (!executeRequested) {
|
|
155
|
+
if (jsonMode) {
|
|
156
|
+
emitAbandonJson({ mode: 'plan', scope: tableScope, abandon: report });
|
|
157
|
+
return 0;
|
|
158
|
+
}
|
|
159
|
+
renderAbandonText(report, { ...textInput, performed: false });
|
|
160
|
+
if (!prompt.isInteractive()) {
|
|
161
|
+
renderAbandonPlanOnlyNotice();
|
|
162
|
+
return 0;
|
|
163
|
+
}
|
|
164
|
+
if (!(await prompt.confirm(migration))) {
|
|
165
|
+
console.log('Abandon cancelled by user.');
|
|
166
|
+
return 0;
|
|
167
|
+
}
|
|
168
|
+
await abandonMigrationState(state, { journalStore });
|
|
169
|
+
console.log(`Abandoned in-progress migration ${migration}.`);
|
|
170
|
+
return 0;
|
|
171
|
+
}
|
|
172
|
+
await abandonMigrationState(state, { journalStore });
|
|
173
|
+
if (jsonMode) {
|
|
174
|
+
emitAbandonJson({ mode: 'execute', scope: tableScope, abandon: report });
|
|
175
|
+
return 0;
|
|
176
|
+
}
|
|
177
|
+
renderAbandonText(report, { ...textInput, performed: true });
|
|
178
|
+
return 0;
|
|
179
|
+
}
|
|
92
180
|
/** Gate 1: block when applied migrations no longer match their recorded checksum. */
|
|
93
181
|
async function runChecksumGate(ctx) {
|
|
94
182
|
const { migrationsDir, journal, jsonMode, mode, tableScope } = ctx;
|
|
@@ -102,38 +190,68 @@ async function runChecksumGate(ctx) {
|
|
|
102
190
|
}
|
|
103
191
|
throw new Error(`Checksum mismatch detected on applied migrations: ${checksumMismatches.map((item) => item.name).join(', ')}`);
|
|
104
192
|
}
|
|
105
|
-
/**
|
|
193
|
+
/**
|
|
194
|
+
* Filter the pending set by table scope, find the files without statements,
|
|
195
|
+
* and resolve --retry, before any gate runs. --retry is resolved even when
|
|
196
|
+
* nothing is pending, so every run reports what it did.
|
|
197
|
+
*/
|
|
198
|
+
async function resolvePendingPlan(ctx) {
|
|
199
|
+
const { migrationsDir, retryTarget, journalStore, appliedNames } = ctx;
|
|
200
|
+
const scope = await resolvePendingScope(ctx);
|
|
201
|
+
const emptyMigrations = await findEmptyMigrations(migrationsDir, scope.pending);
|
|
202
|
+
const retry = retryTarget === undefined
|
|
203
|
+
? undefined
|
|
204
|
+
: await resolveRetry({ migration: retryTarget, migrationsDir, pending: scope.pending, emptyMigrations, appliedNames }, { journalStore });
|
|
205
|
+
return { ...scope, emptyMigrations, retry };
|
|
206
|
+
}
|
|
207
|
+
/** Resolve the table scope and filter the pending set by it. */
|
|
106
208
|
async function resolvePendingScope(ctx) {
|
|
107
|
-
const { tableScope,
|
|
108
|
-
if (tableScope.enabled
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
}
|
|
119
|
-
if (
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
return
|
|
209
|
+
const { tableScope, migrationsDir, pendingAll } = ctx;
|
|
210
|
+
if (!tableScope.enabled)
|
|
211
|
+
return { noScopeMatch: false, pending: pendingAll, undeterminedScope: [] };
|
|
212
|
+
if (tableScope.matchCount === 0)
|
|
213
|
+
return { noScopeMatch: true, pending: [], undeterminedScope: [] };
|
|
214
|
+
const scoped = await filterPendingByScope(migrationsDir, pendingAll, new Set(tableScope.matchedTables));
|
|
215
|
+
return { noScopeMatch: false, pending: scoped.inScope, undeterminedScope: scoped.undetermined };
|
|
216
|
+
}
|
|
217
|
+
/** Nothing to apply: say why, with what --retry did. */
|
|
218
|
+
function renderNothingPending(ctx, plan) {
|
|
219
|
+
const { jsonMode, mode, tableScope } = ctx;
|
|
220
|
+
const input = { jsonMode, mode, scope: tableScope, retry: plan.retry };
|
|
221
|
+
if (plan.noScopeMatch)
|
|
222
|
+
emitNoScopeMatch(input);
|
|
223
|
+
else
|
|
224
|
+
emitNoPending(input);
|
|
225
|
+
return 0;
|
|
124
226
|
}
|
|
125
227
|
/** Render the pending plan (JSON early-return in plan mode, text otherwise). */
|
|
126
|
-
async function renderPlan(ctx,
|
|
228
|
+
async function renderPlan(ctx, plan) {
|
|
127
229
|
const { jsonMode, executeRequested, mode, tableScope, migrationsDir } = ctx;
|
|
230
|
+
const { pending, undeterminedScope, emptyMigrations, retry } = plan;
|
|
128
231
|
if (jsonMode && !executeRequested) {
|
|
129
|
-
emitPlanJson({ mode, scope: tableScope, pending, undeterminedScope });
|
|
232
|
+
emitPlanJson({ mode, scope: tableScope, pending, undeterminedScope, emptyMigrations, retry });
|
|
130
233
|
return 0;
|
|
131
234
|
}
|
|
132
235
|
if (!jsonMode) {
|
|
133
|
-
await renderPlanText({ migrationsDir, scope: tableScope, undeterminedScope, pending });
|
|
236
|
+
await renderPlanText({ migrationsDir, scope: tableScope, undeterminedScope, pending, emptyMigrations, retry });
|
|
134
237
|
}
|
|
135
238
|
return undefined;
|
|
136
239
|
}
|
|
240
|
+
/** Gate: refuse to apply pending files without executable statements; a plan-only run just warns. */
|
|
241
|
+
function runEmptyMigrationGate(ctx, emptyMigrations) {
|
|
242
|
+
const { executeRequested, jsonMode, mode, tableScope } = ctx;
|
|
243
|
+
if (emptyMigrations.length === 0)
|
|
244
|
+
return undefined;
|
|
245
|
+
// A JSON plan already returned from renderPlan, so jsonMode here means --apply.
|
|
246
|
+
const applyPossible = executeRequested || (!jsonMode && !isBackgroundOrCI());
|
|
247
|
+
if (!applyPossible)
|
|
248
|
+
return undefined;
|
|
249
|
+
if (jsonMode) {
|
|
250
|
+
emitEmptyMigrationsBlockedJson({ mode, scope: tableScope, emptyMigrations });
|
|
251
|
+
return 1;
|
|
252
|
+
}
|
|
253
|
+
throw emptyMigrationsError(emptyMigrations);
|
|
254
|
+
}
|
|
137
255
|
/** Gate 2: in plan mode, stop unless the user confirms an interactive apply. */
|
|
138
256
|
async function runConfirmGate(ctx) {
|
|
139
257
|
const { executeRequested, jsonMode } = ctx;
|
|
@@ -179,8 +297,11 @@ async function runDestructiveGate(ctx, pending) {
|
|
|
179
297
|
return undefined;
|
|
180
298
|
}
|
|
181
299
|
/** Apply each pending migration, journal it, and emit the final summary. */
|
|
182
|
-
async function applyPending(ctx,
|
|
183
|
-
const { jsonMode, migrationsDir, db, journalStore, pluginRuntime, config, tableScope, flags } = ctx;
|
|
300
|
+
async function applyPending(ctx, plan) {
|
|
301
|
+
const { jsonMode, migrationsDir, db, journalStore, pluginRuntime, config, tableScope, flags, settings } = ctx;
|
|
302
|
+
const { pending, undeterminedScope, retry } = plan;
|
|
303
|
+
// Progress lines go to stderr in --json mode, so stdout stays one JSON document.
|
|
304
|
+
const log = jsonMode ? (line) => console.error(line) : (line) => console.log(line);
|
|
184
305
|
const appliedNow = [];
|
|
185
306
|
for (const file of pending) {
|
|
186
307
|
if (!jsonMode)
|
|
@@ -194,13 +315,16 @@ async function applyPending(ctx, pending, undeterminedScope) {
|
|
|
194
315
|
flags,
|
|
195
316
|
migrationsDir,
|
|
196
317
|
file,
|
|
318
|
+
settings,
|
|
319
|
+
retry: retry?.action === 'resume' && retry.migration === file ? retry : undefined,
|
|
320
|
+
log,
|
|
197
321
|
});
|
|
198
322
|
appliedNow.push(entry);
|
|
199
323
|
if (!jsonMode)
|
|
200
324
|
renderApplied(file);
|
|
201
325
|
}
|
|
202
326
|
if (jsonMode) {
|
|
203
|
-
emitApplySummaryJson({ scope: tableScope, applied: appliedNow, undeterminedScope });
|
|
327
|
+
emitApplySummaryJson({ scope: tableScope, applied: appliedNow, undeterminedScope, retry });
|
|
204
328
|
return 0;
|
|
205
329
|
}
|
|
206
330
|
renderApplySummary();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/migrate/command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/migrate/command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pending migration files without an executable statement (only comments or
|
|
3
|
+
* whitespace), such as a `generate --empty` stub that still waits for its SQL.
|
|
4
|
+
* Measured on the file, before plugins see it: a plugin that removes every
|
|
5
|
+
* statement does so on purpose.
|
|
6
|
+
*/
|
|
7
|
+
export declare function findEmptyMigrations(migrationsDir: string, pending: readonly string[]): Promise<string[]>;
|
|
8
|
+
//# sourceMappingURL=empty.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"empty.d.ts","sourceRoot":"","sources":["../../../src/commands/migrate/empty.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,OAAO,CAAC,MAAM,EAAE,CAAC,CAQnB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { readFile } from 'node:fs/promises';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { extractExecutableStatements } from '../../runtime/safety-markers.js';
|
|
4
|
+
/**
|
|
5
|
+
* Pending migration files without an executable statement (only comments or
|
|
6
|
+
* whitespace), such as a `generate --empty` stub that still waits for its SQL.
|
|
7
|
+
* Measured on the file, before plugins see it: a plugin that removes every
|
|
8
|
+
* statement does so on purpose.
|
|
9
|
+
*/
|
|
10
|
+
export async function findEmptyMigrations(migrationsDir, pending) {
|
|
11
|
+
const checks = await Promise.all(pending.map(async (file) => ({
|
|
12
|
+
file,
|
|
13
|
+
empty: extractExecutableStatements(await readFile(join(migrationsDir, file), 'utf8')).length === 0,
|
|
14
|
+
})));
|
|
15
|
+
return checks.filter((check) => check.empty).map((check) => check.file);
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=empty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"empty.js","sourceRoot":"","sources":["../../../src/commands/migrate/empty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAA;AAE7E;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,aAAqB,EACrB,OAA0B;IAE1B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QAC3B,IAAI;QACJ,KAAK,EAAE,2BAA2B,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC;KACnG,CAAC,CAAC,CACJ,CAAA;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AACzE,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** Stable `--json` error codes of migrate failures; `bin/chkit.ts` copies them into the error envelope. */
|
|
2
|
+
export type MigrateErrorCode = 'invalid_usage' | 'migration_not_found' | 'migration_not_in_progress' | 'migration_already_applied' | 'retry_mismatch' | 'in_progress_checksum_mismatch';
|
|
3
|
+
/** A migrate failure with a stable code for `--json` consumers. */
|
|
4
|
+
export declare class MigrateError extends Error {
|
|
5
|
+
readonly code: MigrateErrorCode;
|
|
6
|
+
constructor(code: MigrateErrorCode, message: string);
|
|
7
|
+
}
|
|
8
|
+
export declare const EMPTY_MIGRATIONS_SUMMARY = "Pending migrations contain no executable statements. Add SQL statements to each file or delete it.";
|
|
9
|
+
/**
|
|
10
|
+
* An in-progress migration whose file changed after some of its statements
|
|
11
|
+
* completed or started. Without --retry, chkit cannot tell whether the
|
|
12
|
+
* statements that ran still match the file.
|
|
13
|
+
*/
|
|
14
|
+
export declare function inProgressChecksumMismatchError(input: {
|
|
15
|
+
migration: string;
|
|
16
|
+
journalChecksum: string;
|
|
17
|
+
fileChecksum: string;
|
|
18
|
+
async: boolean;
|
|
19
|
+
}): MigrateError;
|
|
20
|
+
/** Text-mode refusal of pending files without executable statements. */
|
|
21
|
+
export declare function emptyMigrationsError(files: readonly string[]): Error;
|
|
22
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/commands/migrate/errors.ts"],"names":[],"mappings":"AAAA,2GAA2G;AAC3G,MAAM,MAAM,gBAAgB,GACxB,eAAe,GACf,qBAAqB,GACrB,2BAA2B,GAC3B,2BAA2B,GAC3B,gBAAgB,GAChB,+BAA+B,CAAA;AAEnC,mEAAmE;AACnE,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;gBAEnB,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM;CAKpD;AAED,eAAO,MAAM,wBAAwB,uGACiE,CAAA;AAEtG;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE;IACrD,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,OAAO,CAAA;CACf,GAAG,YAAY,CAUf;AAED,wEAAwE;AACxE,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,KAAK,CAOpE"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/** A migrate failure with a stable code for `--json` consumers. */
|
|
2
|
+
export class MigrateError extends Error {
|
|
3
|
+
code;
|
|
4
|
+
constructor(code, message) {
|
|
5
|
+
super(message);
|
|
6
|
+
this.name = 'MigrateError';
|
|
7
|
+
this.code = code;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export const EMPTY_MIGRATIONS_SUMMARY = 'Pending migrations contain no executable statements. Add SQL statements to each file or delete it.';
|
|
11
|
+
/**
|
|
12
|
+
* An in-progress migration whose file changed after some of its statements
|
|
13
|
+
* completed or started. Without --retry, chkit cannot tell whether the
|
|
14
|
+
* statements that ran still match the file.
|
|
15
|
+
*/
|
|
16
|
+
export function inProgressChecksumMismatchError(input) {
|
|
17
|
+
const { migration } = input;
|
|
18
|
+
const stateLabel = input.async ? 'in-progress async journal state' : 'in-progress journal state';
|
|
19
|
+
return new MigrateError('in_progress_checksum_mismatch', `Migration ${migration} has ${stateLabel} for checksum ${input.journalChecksum}, but the current file checksum is ${input.fileChecksum}: the file changed after some of its statements had run.\n` +
|
|
20
|
+
` Resume with the edited file (completed statements are skipped): chkit migrate --apply --retry ${migration}\n` +
|
|
21
|
+
` Or discard the partial run, so the next apply starts the file over: chkit migrate --apply --abandon ${migration}\n` +
|
|
22
|
+
' Or restore the original file content and re-run chkit migrate --apply.');
|
|
23
|
+
}
|
|
24
|
+
/** Text-mode refusal of pending files without executable statements. */
|
|
25
|
+
export function emptyMigrationsError(files) {
|
|
26
|
+
return new Error('Cannot apply: these pending migrations contain no executable statements (only comments or whitespace):\n' +
|
|
27
|
+
`${files.map((file) => ` - ${file}`).join('\n')}\n` +
|
|
28
|
+
'An empty migration would be recorded as applied, and SQL added to it later would fail the checksum check.\n' +
|
|
29
|
+
'Add SQL statements to each file or delete it, then re-run chkit migrate --apply.');
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/commands/migrate/errors.ts"],"names":[],"mappings":"AASA,mEAAmE;AACnE,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC5B,IAAI,CAAkB;IAE/B,YAAY,IAAsB,EAAE,OAAe;QACjD,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,cAAc,CAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;CACF;AAED,MAAM,CAAC,MAAM,wBAAwB,GACnC,oGAAoG,CAAA;AAEtG;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAAC,KAK/C;IACC,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAA;IAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,2BAA2B,CAAA;IAChG,OAAO,IAAI,YAAY,CACrB,+BAA+B,EAC/B,aAAa,SAAS,QAAQ,UAAU,iBAAiB,KAAK,CAAC,eAAe,sCAAsC,KAAK,CAAC,YAAY,4DAA4D;QAChM,mGAAmG,SAAS,IAAI;QAChH,yGAAyG,SAAS,IAAI;QACtH,0EAA0E,CAC7E,CAAA;AACH,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,oBAAoB,CAAC,KAAwB;IAC3D,OAAO,IAAI,KAAK,CACd,0GAA0G;QACxG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;QACpD,6GAA6G;QAC7G,kFAAkF,CACrF,CAAA;AACH,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { TableScope } from '../../plugins.js';
|
|
2
2
|
import type { MigrationJournalEntry } from '../../runtime/migration-store.js';
|
|
3
|
+
import { type AbandonReport } from './abandon.js';
|
|
3
4
|
import type { DestructiveScan } from './destructive.js';
|
|
5
|
+
import type { RetryResolution } from './retry.js';
|
|
4
6
|
export type MigrateMode = 'plan' | 'execute';
|
|
5
7
|
interface ChecksumMismatch {
|
|
6
8
|
name: string;
|
|
@@ -16,23 +18,29 @@ export declare function emitNoScopeMatch(input: {
|
|
|
16
18
|
jsonMode: boolean;
|
|
17
19
|
mode: MigrateMode;
|
|
18
20
|
scope: TableScope;
|
|
21
|
+
retry: RetryResolution | undefined;
|
|
19
22
|
}): void;
|
|
20
23
|
export declare function emitNoPending(input: {
|
|
21
24
|
jsonMode: boolean;
|
|
22
25
|
mode: MigrateMode;
|
|
23
26
|
scope: TableScope;
|
|
27
|
+
retry: RetryResolution | undefined;
|
|
24
28
|
}): void;
|
|
25
29
|
export declare function emitPlanJson(input: {
|
|
26
30
|
mode: MigrateMode;
|
|
27
31
|
scope: TableScope;
|
|
28
32
|
pending: string[];
|
|
29
33
|
undeterminedScope: string[];
|
|
34
|
+
emptyMigrations: string[];
|
|
35
|
+
retry: RetryResolution | undefined;
|
|
30
36
|
}): void;
|
|
31
37
|
export declare function renderPlanText(input: {
|
|
32
38
|
migrationsDir: string;
|
|
33
39
|
scope: TableScope;
|
|
34
40
|
undeterminedScope: string[];
|
|
35
41
|
pending: string[];
|
|
42
|
+
emptyMigrations: string[];
|
|
43
|
+
retry: RetryResolution | undefined;
|
|
36
44
|
}): Promise<void>;
|
|
37
45
|
export declare function renderPlanOnlyNotice(): void;
|
|
38
46
|
export declare function emitDestructiveBlockedJson(input: {
|
|
@@ -46,7 +54,30 @@ export declare function emitApplySummaryJson(input: {
|
|
|
46
54
|
scope: TableScope;
|
|
47
55
|
applied: MigrationJournalEntry[];
|
|
48
56
|
undeterminedScope: string[];
|
|
57
|
+
retry: RetryResolution | undefined;
|
|
49
58
|
}): void;
|
|
50
59
|
export declare function renderApplySummary(): void;
|
|
60
|
+
export declare function emitEmptyMigrationsBlockedJson(input: {
|
|
61
|
+
mode: MigrateMode;
|
|
62
|
+
scope: TableScope;
|
|
63
|
+
emptyMigrations: string[];
|
|
64
|
+
}): void;
|
|
65
|
+
export declare function emitAbandonJson(input: {
|
|
66
|
+
mode: MigrateMode;
|
|
67
|
+
scope: TableScope;
|
|
68
|
+
abandon: AbandonReport;
|
|
69
|
+
}): void;
|
|
70
|
+
/**
|
|
71
|
+
* The --abandon report: what stays applied in ClickHouse, what failed or was
|
|
72
|
+
* interrupted, and how to continue. `performed` is false for the preview. A
|
|
73
|
+
* statement an earlier --abandon marked failed is reported by the status it
|
|
74
|
+
* had before, so a statement that completed still shows as applied.
|
|
75
|
+
*/
|
|
76
|
+
export declare function renderAbandonText(report: AbandonReport, input: {
|
|
77
|
+
performed: boolean;
|
|
78
|
+
fileExists: boolean;
|
|
79
|
+
snapshotFile: string;
|
|
80
|
+
}): void;
|
|
81
|
+
export declare function renderAbandonPlanOnlyNotice(): void;
|
|
51
82
|
export {};
|
|
52
83
|
//# sourceMappingURL=output.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../src/commands/migrate/output.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAIlD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAC7E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAEvD,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../src/commands/migrate/output.ts"],"names":[],"mappings":"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"}
|