chkit 0.1.2-beta.5 → 0.2.0-beta.11

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.
Files changed (305) hide show
  1. package/README.md +69 -56
  2. package/dist/bin/chkit.js +57 -26
  3. package/dist/bin/chkit.js.map +1 -1
  4. package/dist/commands/drift/compare.d.ts +26 -2
  5. package/dist/commands/drift/compare.d.ts.map +1 -1
  6. package/dist/commands/drift/compare.js +147 -41
  7. package/dist/commands/drift/compare.js.map +1 -1
  8. package/dist/commands/drift/payload.d.ts.map +1 -1
  9. package/dist/commands/drift/payload.js +39 -8
  10. package/dist/commands/drift/payload.js.map +1 -1
  11. package/dist/commands/generate/command.d.ts.map +1 -1
  12. package/dist/commands/generate/command.js +20 -22
  13. package/dist/commands/generate/command.js.map +1 -1
  14. package/dist/commands/generate/dictionary-password-warnings.d.ts +3 -0
  15. package/dist/commands/generate/dictionary-password-warnings.d.ts.map +1 -0
  16. package/dist/commands/generate/dictionary-password-warnings.js +7 -0
  17. package/dist/commands/generate/dictionary-password-warnings.js.map +1 -0
  18. package/dist/commands/generate/output.d.ts +2 -2
  19. package/dist/commands/generate/output.d.ts.map +1 -1
  20. package/dist/commands/generate/output.js +8 -2
  21. package/dist/commands/generate/output.js.map +1 -1
  22. package/dist/commands/generate/plan-pipeline.d.ts +2 -1
  23. package/dist/commands/generate/plan-pipeline.d.ts.map +1 -1
  24. package/dist/commands/generate/plan-pipeline.js +69 -27
  25. package/dist/commands/generate/plan-pipeline.js.map +1 -1
  26. package/dist/commands/generate/rename-mappings.d.ts +14 -0
  27. package/dist/commands/generate/rename-mappings.d.ts.map +1 -1
  28. package/dist/commands/generate/rename-mappings.js +131 -19
  29. package/dist/commands/generate/rename-mappings.js.map +1 -1
  30. package/dist/commands/init.d.ts +2 -0
  31. package/dist/commands/init.d.ts.map +1 -1
  32. package/dist/commands/init.js +21 -4
  33. package/dist/commands/init.js.map +1 -1
  34. package/dist/commands/migrate/abandon.d.ts +38 -0
  35. package/dist/commands/migrate/abandon.d.ts.map +1 -0
  36. package/dist/commands/migrate/abandon.js +75 -0
  37. package/dist/commands/migrate/abandon.js.map +1 -0
  38. package/dist/commands/migrate/apply.d.ts +7 -0
  39. package/dist/commands/migrate/apply.d.ts.map +1 -1
  40. package/dist/commands/migrate/apply.js +45 -6
  41. package/dist/commands/migrate/apply.js.map +1 -1
  42. package/dist/commands/migrate/async-apply.d.ts.map +1 -1
  43. package/dist/commands/migrate/async-apply.js +78 -16
  44. package/dist/commands/migrate/async-apply.js.map +1 -1
  45. package/dist/commands/migrate/command.d.ts +44 -1
  46. package/dist/commands/migrate/command.d.ts.map +1 -1
  47. package/dist/commands/migrate/command.js +148 -34
  48. package/dist/commands/migrate/command.js.map +1 -1
  49. package/dist/commands/migrate/empty.d.ts +8 -0
  50. package/dist/commands/migrate/empty.d.ts.map +1 -0
  51. package/dist/commands/migrate/empty.js +17 -0
  52. package/dist/commands/migrate/empty.js.map +1 -0
  53. package/dist/commands/migrate/errors.d.ts +22 -0
  54. package/dist/commands/migrate/errors.d.ts.map +1 -0
  55. package/dist/commands/migrate/errors.js +31 -0
  56. package/dist/commands/migrate/errors.js.map +1 -0
  57. package/dist/commands/migrate/output.d.ts +31 -0
  58. package/dist/commands/migrate/output.d.ts.map +1 -1
  59. package/dist/commands/migrate/output.js +120 -9
  60. package/dist/commands/migrate/output.js.map +1 -1
  61. package/dist/commands/migrate/prompts.d.ts +1 -0
  62. package/dist/commands/migrate/prompts.d.ts.map +1 -1
  63. package/dist/commands/migrate/prompts.js +3 -0
  64. package/dist/commands/migrate/prompts.js.map +1 -1
  65. package/dist/commands/migrate/recovery.d.ts +90 -0
  66. package/dist/commands/migrate/recovery.d.ts.map +1 -0
  67. package/dist/commands/migrate/recovery.js +163 -0
  68. package/dist/commands/migrate/recovery.js.map +1 -0
  69. package/dist/commands/migrate/retry.d.ts +37 -0
  70. package/dist/commands/migrate/retry.d.ts.map +1 -0
  71. package/dist/commands/migrate/retry.js +46 -0
  72. package/dist/commands/migrate/retry.js.map +1 -0
  73. package/dist/commands/plugin.js +3 -1
  74. package/dist/commands/plugin.js.map +1 -1
  75. package/dist/commands/registry.d.ts +2 -0
  76. package/dist/commands/registry.d.ts.map +1 -0
  77. package/dist/commands/registry.js +228 -0
  78. package/dist/commands/registry.js.map +1 -0
  79. package/dist/commands/snapshot/command.d.ts +3 -0
  80. package/dist/commands/snapshot/command.d.ts.map +1 -0
  81. package/dist/commands/snapshot/command.js +32 -0
  82. package/dist/commands/snapshot/command.js.map +1 -0
  83. package/dist/commands/snapshot/output.d.ts +24 -0
  84. package/dist/commands/snapshot/output.d.ts.map +1 -0
  85. package/dist/commands/snapshot/output.js +86 -0
  86. package/dist/commands/snapshot/output.js.map +1 -0
  87. package/dist/commands/snapshot/rebuild.d.ts +19 -0
  88. package/dist/commands/snapshot/rebuild.d.ts.map +1 -0
  89. package/dist/commands/snapshot/rebuild.js +77 -0
  90. package/dist/commands/snapshot/rebuild.js.map +1 -0
  91. package/dist/internal-plugins/core/plugin.d.ts.map +1 -1
  92. package/dist/internal-plugins/core/plugin.js +2 -0
  93. package/dist/internal-plugins/core/plugin.js.map +1 -1
  94. package/dist/registry/build.d.ts +17 -0
  95. package/dist/registry/build.d.ts.map +1 -0
  96. package/dist/registry/build.js +94 -0
  97. package/dist/registry/build.js.map +1 -0
  98. package/dist/registry/dependencies.d.ts +19 -0
  99. package/dist/registry/dependencies.d.ts.map +1 -0
  100. package/dist/registry/dependencies.js +105 -0
  101. package/dist/registry/dependencies.js.map +1 -0
  102. package/dist/registry/files.d.ts +4 -0
  103. package/dist/registry/files.d.ts.map +1 -0
  104. package/dist/registry/files.js +33 -0
  105. package/dist/registry/files.js.map +1 -0
  106. package/dist/registry/install.d.ts +55 -0
  107. package/dist/registry/install.d.ts.map +1 -0
  108. package/dist/registry/install.js +175 -0
  109. package/dist/registry/install.js.map +1 -0
  110. package/dist/registry/model.d.ts +172 -0
  111. package/dist/registry/model.d.ts.map +1 -0
  112. package/dist/registry/model.js +161 -0
  113. package/dist/registry/model.js.map +1 -0
  114. package/dist/registry/project-config.d.ts +18 -0
  115. package/dist/registry/project-config.d.ts.map +1 -0
  116. package/dist/registry/project-config.js +337 -0
  117. package/dist/registry/project-config.js.map +1 -0
  118. package/dist/registry/resolve.d.ts +7 -0
  119. package/dist/registry/resolve.d.ts.map +1 -0
  120. package/dist/registry/resolve.js +129 -0
  121. package/dist/registry/resolve.js.map +1 -0
  122. package/dist/runtime/argv.d.ts +3 -0
  123. package/dist/runtime/argv.d.ts.map +1 -0
  124. package/dist/runtime/argv.js +29 -0
  125. package/dist/runtime/argv.js.map +1 -0
  126. package/dist/runtime/command-dispatch.d.ts.map +1 -1
  127. package/dist/runtime/command-dispatch.js +5 -0
  128. package/dist/runtime/command-dispatch.js.map +1 -1
  129. package/dist/runtime/config-merge.d.ts.map +1 -1
  130. package/dist/runtime/config-merge.js +2 -1
  131. package/dist/runtime/config-merge.js.map +1 -1
  132. package/dist/runtime/global-flags.d.ts +4 -0
  133. package/dist/runtime/global-flags.d.ts.map +1 -1
  134. package/dist/runtime/global-flags.js +1 -0
  135. package/dist/runtime/global-flags.js.map +1 -1
  136. package/dist/runtime/help.d.ts.map +1 -1
  137. package/dist/runtime/help.js +3 -0
  138. package/dist/runtime/help.js.map +1 -1
  139. package/dist/runtime/journal-store.d.ts.map +1 -1
  140. package/dist/runtime/journal-store.js +55 -26
  141. package/dist/runtime/journal-store.js.map +1 -1
  142. package/dist/runtime/json-output.d.ts +1 -1
  143. package/dist/runtime/json-output.d.ts.map +1 -1
  144. package/dist/runtime/json-output.js.map +1 -1
  145. package/dist/runtime/migration-store.d.ts +1 -1
  146. package/dist/runtime/migration-store.d.ts.map +1 -1
  147. package/dist/runtime/migration-store.js +17 -16
  148. package/dist/runtime/migration-store.js.map +1 -1
  149. package/dist/runtime/plugin-runtime/executor-debug.d.ts.map +1 -1
  150. package/dist/runtime/plugin-runtime/executor-debug.js +2 -0
  151. package/dist/runtime/plugin-runtime/executor-debug.js.map +1 -1
  152. package/dist/runtime/plugin-runtime/loader.js +1 -1
  153. package/dist/runtime/plugin-runtime/loader.js.map +1 -1
  154. package/dist/runtime/safety-markers.d.ts.map +1 -1
  155. package/dist/runtime/safety-markers.js +13 -2
  156. package/dist/runtime/safety-markers.js.map +1 -1
  157. package/dist/runtime/schema-loader.d.ts +20 -1
  158. package/dist/runtime/schema-loader.d.ts.map +1 -1
  159. package/dist/runtime/schema-loader.js +26 -0
  160. package/dist/runtime/schema-loader.js.map +1 -1
  161. package/dist/runtime/snapshot-document.d.ts +33 -0
  162. package/dist/runtime/snapshot-document.d.ts.map +1 -0
  163. package/dist/runtime/snapshot-document.js +65 -0
  164. package/dist/runtime/snapshot-document.js.map +1 -0
  165. package/package.json +17 -7
  166. package/dist/bin/clickhouse-resource.d.ts +0 -4
  167. package/dist/bin/clickhouse-resource.d.ts.map +0 -1
  168. package/dist/bin/clickhouse-resource.js +0 -11
  169. package/dist/bin/clickhouse-resource.js.map +0 -1
  170. package/dist/bin/command-dispatch.d.ts +0 -13
  171. package/dist/bin/command-dispatch.d.ts.map +0 -1
  172. package/dist/bin/command-dispatch.js +0 -186
  173. package/dist/bin/command-dispatch.js.map +0 -1
  174. package/dist/bin/command-registry.d.ts +0 -34
  175. package/dist/bin/command-registry.d.ts.map +0 -1
  176. package/dist/bin/command-registry.js +0 -87
  177. package/dist/bin/command-registry.js.map +0 -1
  178. package/dist/bin/commands/check.d.ts +0 -3
  179. package/dist/bin/commands/check.d.ts.map +0 -1
  180. package/dist/bin/commands/check.js +0 -181
  181. package/dist/bin/commands/check.js.map +0 -1
  182. package/dist/bin/commands/codegen.d.ts +0 -2
  183. package/dist/bin/commands/codegen.d.ts.map +0 -1
  184. package/dist/bin/commands/codegen.js +0 -25
  185. package/dist/bin/commands/codegen.js.map +0 -1
  186. package/dist/bin/commands/drift.d.ts +0 -27
  187. package/dist/bin/commands/drift.d.ts.map +0 -1
  188. package/dist/bin/commands/drift.js +0 -220
  189. package/dist/bin/commands/drift.js.map +0 -1
  190. package/dist/bin/commands/generate/output.d.ts +0 -8
  191. package/dist/bin/commands/generate/output.d.ts.map +0 -1
  192. package/dist/bin/commands/generate/output.js +0 -58
  193. package/dist/bin/commands/generate/output.js.map +0 -1
  194. package/dist/bin/commands/generate/plan-pipeline.d.ts +0 -7
  195. package/dist/bin/commands/generate/plan-pipeline.d.ts.map +0 -1
  196. package/dist/bin/commands/generate/plan-pipeline.js +0 -143
  197. package/dist/bin/commands/generate/plan-pipeline.js.map +0 -1
  198. package/dist/bin/commands/generate/rename-mappings.d.ts +0 -29
  199. package/dist/bin/commands/generate/rename-mappings.d.ts.map +0 -1
  200. package/dist/bin/commands/generate/rename-mappings.js +0 -195
  201. package/dist/bin/commands/generate/rename-mappings.js.map +0 -1
  202. package/dist/bin/commands/generate.d.ts +0 -3
  203. package/dist/bin/commands/generate.d.ts.map +0 -1
  204. package/dist/bin/commands/generate.js +0 -158
  205. package/dist/bin/commands/generate.js.map +0 -1
  206. package/dist/bin/commands/init.d.ts +0 -2
  207. package/dist/bin/commands/init.d.ts.map +0 -1
  208. package/dist/bin/commands/init.js +0 -12
  209. package/dist/bin/commands/init.js.map +0 -1
  210. package/dist/bin/commands/migrate.d.ts +0 -3
  211. package/dist/bin/commands/migrate.d.ts.map +0 -1
  212. package/dist/bin/commands/migrate.js +0 -288
  213. package/dist/bin/commands/migrate.js.map +0 -1
  214. package/dist/bin/commands/plugin-like.d.ts +0 -38
  215. package/dist/bin/commands/plugin-like.d.ts.map +0 -1
  216. package/dist/bin/commands/plugin-like.js +0 -101
  217. package/dist/bin/commands/plugin-like.js.map +0 -1
  218. package/dist/bin/commands/plugin.d.ts +0 -3
  219. package/dist/bin/commands/plugin.d.ts.map +0 -1
  220. package/dist/bin/commands/plugin.js +0 -148
  221. package/dist/bin/commands/plugin.js.map +0 -1
  222. package/dist/bin/commands/pull.d.ts +0 -2
  223. package/dist/bin/commands/pull.d.ts.map +0 -1
  224. package/dist/bin/commands/pull.js +0 -25
  225. package/dist/bin/commands/pull.js.map +0 -1
  226. package/dist/bin/commands/status.d.ts +0 -3
  227. package/dist/bin/commands/status.d.ts.map +0 -1
  228. package/dist/bin/commands/status.js +0 -63
  229. package/dist/bin/commands/status.js.map +0 -1
  230. package/dist/bin/commands/typegen.d.ts +0 -2
  231. package/dist/bin/commands/typegen.d.ts.map +0 -1
  232. package/dist/bin/commands/typegen.js +0 -25
  233. package/dist/bin/commands/typegen.js.map +0 -1
  234. package/dist/bin/config.d.ts +0 -13
  235. package/dist/bin/config.d.ts.map +0 -1
  236. package/dist/bin/config.js +0 -48
  237. package/dist/bin/config.js.map +0 -1
  238. package/dist/bin/debug.d.ts +0 -3
  239. package/dist/bin/debug.d.ts.map +0 -1
  240. package/dist/bin/debug.js +0 -14
  241. package/dist/bin/debug.js.map +0 -1
  242. package/dist/bin/global-flags.d.ts +0 -16
  243. package/dist/bin/global-flags.d.ts.map +0 -1
  244. package/dist/bin/global-flags.js +0 -7
  245. package/dist/bin/global-flags.js.map +0 -1
  246. package/dist/bin/help.d.ts +0 -5
  247. package/dist/bin/help.d.ts.map +0 -1
  248. package/dist/bin/help.js +0 -84
  249. package/dist/bin/help.js.map +0 -1
  250. package/dist/bin/internal-plugins/index.d.ts +0 -3
  251. package/dist/bin/internal-plugins/index.d.ts.map +0 -1
  252. package/dist/bin/internal-plugins/index.js +0 -5
  253. package/dist/bin/internal-plugins/index.js.map +0 -1
  254. package/dist/bin/internal-plugins/skill-hint.d.ts +0 -31
  255. package/dist/bin/internal-plugins/skill-hint.d.ts.map +0 -1
  256. package/dist/bin/internal-plugins/skill-hint.js +0 -172
  257. package/dist/bin/internal-plugins/skill-hint.js.map +0 -1
  258. package/dist/bin/journal-store.d.ts +0 -10
  259. package/dist/bin/journal-store.d.ts.map +0 -1
  260. package/dist/bin/journal-store.js +0 -137
  261. package/dist/bin/journal-store.js.map +0 -1
  262. package/dist/bin/json-output.d.ts +0 -5
  263. package/dist/bin/json-output.d.ts.map +0 -1
  264. package/dist/bin/json-output.js +0 -21
  265. package/dist/bin/json-output.js.map +0 -1
  266. package/dist/bin/lib.d.ts +0 -5
  267. package/dist/bin/lib.d.ts.map +0 -1
  268. package/dist/bin/lib.js +0 -5
  269. package/dist/bin/lib.js.map +0 -1
  270. package/dist/bin/logging.d.ts +0 -3
  271. package/dist/bin/logging.d.ts.map +0 -1
  272. package/dist/bin/logging.js +0 -31
  273. package/dist/bin/logging.js.map +0 -1
  274. package/dist/bin/migration-store.d.ts +0 -22
  275. package/dist/bin/migration-store.d.ts.map +0 -1
  276. package/dist/bin/migration-store.js +0 -60
  277. package/dist/bin/migration-store.js.map +0 -1
  278. package/dist/bin/plugin-runtime.d.ts +0 -45
  279. package/dist/bin/plugin-runtime.d.ts.map +0 -1
  280. package/dist/bin/plugin-runtime.js +0 -513
  281. package/dist/bin/plugin-runtime.js.map +0 -1
  282. package/dist/bin/safety-markers.d.ts +0 -23
  283. package/dist/bin/safety-markers.d.ts.map +0 -1
  284. package/dist/bin/safety-markers.js +0 -85
  285. package/dist/bin/safety-markers.js.map +0 -1
  286. package/dist/bin/schema-loader.d.ts +0 -3
  287. package/dist/bin/schema-loader.d.ts.map +0 -1
  288. package/dist/bin/schema-loader.js +0 -11
  289. package/dist/bin/schema-loader.js.map +0 -1
  290. package/dist/bin/table-scope.d.ts +0 -38
  291. package/dist/bin/table-scope.d.ts.map +0 -1
  292. package/dist/bin/table-scope.js +0 -167
  293. package/dist/bin/table-scope.js.map +0 -1
  294. package/dist/bin/version.d.ts +0 -2
  295. package/dist/bin/version.d.ts.map +0 -1
  296. package/dist/bin/version.js +0 -5
  297. package/dist/bin/version.js.map +0 -1
  298. package/dist/drift-diff.d.ts +0 -8
  299. package/dist/drift-diff.d.ts.map +0 -1
  300. package/dist/drift-diff.js +0 -46
  301. package/dist/drift-diff.js.map +0 -1
  302. package/dist/drift.d.ts +0 -66
  303. package/dist/drift.d.ts.map +0 -1
  304. package/dist/drift.js +0 -220
  305. 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,32 @@ 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 { emitApplySummaryJson, emitChecksumMismatchJson, emitDestructiveBlockedJson, emitNoPending, emitNoScopeMatch, emitPlanJson, renderApplied, renderApplySummary, renderMigrationLog, renderPlanOnlyNotice, renderPlanText, } from './output.js';
12
- import { confirmApply, confirmDestructiveExecution, isBackgroundOrCI, printDestructiveOperationDetails, } from './prompts.js';
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';
14
21
  const MIGRATE_FLAGS = defineFlags([
15
22
  { name: '--apply', type: 'boolean', description: 'Apply pending migrations on ClickHouse (no prompt)' },
16
23
  { name: '--execute', type: 'boolean', description: 'Alias for --apply' },
17
24
  { name: '--allow-destructive', type: 'boolean', description: 'Allow destructive migrations tagged with risk=danger' },
25
+ {
26
+ name: '--retry',
27
+ type: 'string',
28
+ description: 'Resume a failed migration after editing its file (skips completed statements)',
29
+ placeholder: '<migration>',
30
+ },
31
+ {
32
+ name: '--abandon',
33
+ type: 'string',
34
+ description: 'Reset a failed migration so the next apply runs it from statement 1 (journal only; previews without --apply)',
35
+ placeholder: '<migration>',
36
+ },
18
37
  ]);
19
38
  export const migrateCommand = {
20
39
  name: 'migrate',
@@ -22,25 +41,33 @@ export const migrateCommand = {
22
41
  flags: MIGRATE_FLAGS,
23
42
  run: cmdMigrate,
24
43
  };
44
+ const TERMINAL_PROMPT = {
45
+ isInteractive: () => !isBackgroundOrCI(),
46
+ confirm: confirmAbandon,
47
+ };
25
48
  async function cmdMigrate(runCtx) {
26
49
  const ctx = await prepareMigration(runCtx);
50
+ if (ctx.abandonTarget !== undefined)
51
+ return runAbandon(ctx, ctx.abandonTarget);
27
52
  const checksumExit = await runChecksumGate(ctx);
28
53
  if (checksumExit !== undefined)
29
54
  return checksumExit;
30
- const scope = await resolvePendingScope(ctx);
31
- if (scope.exit !== undefined)
32
- return scope.exit;
33
- const { pending, undeterminedScope } = scope;
34
- const planExit = await renderPlan(ctx, pending, undeterminedScope);
55
+ const plan = await resolvePendingPlan(ctx);
56
+ if (plan.pending.length === 0)
57
+ return renderNothingPending(ctx, plan);
58
+ const planExit = await renderPlan(ctx, plan);
35
59
  if (planExit !== undefined)
36
60
  return planExit;
61
+ const emptyExit = runEmptyMigrationGate(ctx, plan.emptyMigrations);
62
+ if (emptyExit !== undefined)
63
+ return emptyExit;
37
64
  const confirmExit = await runConfirmGate(ctx);
38
65
  if (confirmExit !== undefined)
39
66
  return confirmExit;
40
- const destructiveExit = await runDestructiveGate(ctx, pending);
67
+ const destructiveExit = await runDestructiveGate(ctx, plan.pending);
41
68
  if (destructiveExit !== undefined)
42
69
  return destructiveExit;
43
- return applyPending(ctx, pending, undeterminedScope);
70
+ return applyPending(ctx, plan);
44
71
  }
45
72
  /** Parse flags, resolve deps, run onConfigLoaded, and load the pending set. */
46
73
  async function prepareMigration(runCtx) {
@@ -50,14 +77,18 @@ async function prepareMigration(runCtx) {
50
77
  const allowDestructive = f['--allow-destructive'] === true;
51
78
  const tableSelector = f['--table'];
52
79
  const jsonMode = f['--json'] === true;
80
+ const { retryTarget, abandonTarget } = resolveRecoveryTargets(flags);
53
81
  const { migrationsDir, metaDir } = resolveDirs(config);
54
- debug('migrate', `flags: execute=${executeRequested}, allowDestructive=${allowDestructive}, json=${jsonMode}`);
82
+ debug('migrate', `flags: execute=${executeRequested}, allowDestructive=${allowDestructive}, json=${jsonMode}, ` +
83
+ `retry=${retryTarget ?? '-'}, abandon=${abandonTarget ?? '-'}`);
55
84
  if (!pluginContext.hasExecutor) {
56
85
  throw new Error('clickhouse config is required for migrate (journal is stored in ClickHouse)');
57
86
  }
58
87
  const db = pluginContext.executor;
59
88
  const journalStore = createJournalStore(db, config.clickhouse?.cluster);
60
- const snapshot = await readSnapshot(metaDir);
89
+ // --abandon only changes the journal and rejects --table, so it does not
90
+ // read snapshot.json: a conflicted snapshot cannot block it.
91
+ const snapshot = abandonTarget === undefined ? await readSnapshot(metaDir) : null;
61
92
  const tableScope = resolveTableScope(tableSelector, tableKeysFromDefinitions(snapshot?.definitions ?? []));
62
93
  const mode = executeRequested ? 'execute' : 'plan';
63
94
  await pluginRuntime.runOnConfigLoaded({
@@ -69,6 +100,9 @@ async function prepareMigration(runCtx) {
69
100
  });
70
101
  await mkdir(migrationsDir, { recursive: true });
71
102
  const files = await listMigrations(migrationsDir);
103
+ if (retryTarget !== undefined && !files.includes(retryTarget)) {
104
+ 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}.`);
105
+ }
72
106
  const journal = await journalStore.readJournal();
73
107
  const appliedNames = new Set(journal.applied.map((entry) => entry.name));
74
108
  const pendingAll = files.filter((file) => !appliedNames.has(file));
@@ -79,6 +113,7 @@ async function prepareMigration(runCtx) {
79
113
  allowDestructive,
80
114
  mode,
81
115
  migrationsDir,
116
+ metaDir,
82
117
  db,
83
118
  journalStore,
84
119
  config,
@@ -86,9 +121,53 @@ async function prepareMigration(runCtx) {
86
121
  pluginRuntime,
87
122
  tableScope,
88
123
  journal,
124
+ files,
125
+ appliedNames,
89
126
  pendingAll,
127
+ retryTarget,
128
+ abandonTarget,
90
129
  };
91
130
  }
131
+ /**
132
+ * --abandon <migration>: reset the journal state of a failed migration so the
133
+ * next apply runs it from statement 1. Without --apply it only previews, like
134
+ * the rest of migrate, or asks first in an interactive terminal. Runs before
135
+ * every other gate and applies nothing.
136
+ */
137
+ export async function runAbandon(ctx, migration, prompt = TERMINAL_PROMPT) {
138
+ const { jsonMode, executeRequested, journalStore, tableScope } = ctx;
139
+ const state = await readAbandonableState({ migration, appliedNames: ctx.appliedNames }, { journalStore });
140
+ const report = abandonReport(state);
141
+ const textInput = {
142
+ fileExists: ctx.files.includes(migration),
143
+ snapshotFile: relative(process.cwd(), join(ctx.metaDir, 'snapshot.json')),
144
+ };
145
+ if (!executeRequested) {
146
+ if (jsonMode) {
147
+ emitAbandonJson({ mode: 'plan', scope: tableScope, abandon: report });
148
+ return 0;
149
+ }
150
+ renderAbandonText(report, { ...textInput, performed: false });
151
+ if (!prompt.isInteractive()) {
152
+ renderAbandonPlanOnlyNotice();
153
+ return 0;
154
+ }
155
+ if (!(await prompt.confirm(migration))) {
156
+ console.log('Abandon cancelled by user.');
157
+ return 0;
158
+ }
159
+ await abandonMigrationState(state, { journalStore });
160
+ console.log(`Abandoned in-progress migration ${migration}.`);
161
+ return 0;
162
+ }
163
+ await abandonMigrationState(state, { journalStore });
164
+ if (jsonMode) {
165
+ emitAbandonJson({ mode: 'execute', scope: tableScope, abandon: report });
166
+ return 0;
167
+ }
168
+ renderAbandonText(report, { ...textInput, performed: true });
169
+ return 0;
170
+ }
92
171
  /** Gate 1: block when applied migrations no longer match their recorded checksum. */
93
172
  async function runChecksumGate(ctx) {
94
173
  const { migrationsDir, journal, jsonMode, mode, tableScope } = ctx;
@@ -102,38 +181,68 @@ async function runChecksumGate(ctx) {
102
181
  }
103
182
  throw new Error(`Checksum mismatch detected on applied migrations: ${checksumMismatches.map((item) => item.name).join(', ')}`);
104
183
  }
105
- /** Resolve table scope, filter the pending set, and short-circuit empty runs. */
184
+ /**
185
+ * Filter the pending set by table scope, find the files without statements,
186
+ * and resolve --retry, before any gate runs. --retry is resolved even when
187
+ * nothing is pending, so every run reports what it did.
188
+ */
189
+ async function resolvePendingPlan(ctx) {
190
+ const { migrationsDir, retryTarget, journalStore, appliedNames } = ctx;
191
+ const scope = await resolvePendingScope(ctx);
192
+ const emptyMigrations = await findEmptyMigrations(migrationsDir, scope.pending);
193
+ const retry = retryTarget === undefined
194
+ ? undefined
195
+ : await resolveRetry({ migration: retryTarget, migrationsDir, pending: scope.pending, emptyMigrations, appliedNames }, { journalStore });
196
+ return { ...scope, emptyMigrations, retry };
197
+ }
198
+ /** Resolve the table scope and filter the pending set by it. */
106
199
  async function resolvePendingScope(ctx) {
107
- const { tableScope, jsonMode, mode, migrationsDir, pendingAll } = ctx;
108
- if (tableScope.enabled && tableScope.matchCount === 0) {
109
- emitNoScopeMatch({ jsonMode, mode, scope: tableScope });
110
- return { exit: 0, pending: [], undeterminedScope: [] };
111
- }
112
- let pending = pendingAll;
113
- let undeterminedScope = [];
114
- if (tableScope.enabled) {
115
- const scoped = await filterPendingByScope(migrationsDir, pendingAll, new Set(tableScope.matchedTables));
116
- pending = scoped.inScope;
117
- undeterminedScope = scoped.undetermined;
118
- }
119
- if (pending.length === 0) {
120
- emitNoPending({ jsonMode, mode, scope: tableScope });
121
- return { exit: 0, pending, undeterminedScope };
122
- }
123
- return { pending, undeterminedScope };
200
+ const { tableScope, migrationsDir, pendingAll } = ctx;
201
+ if (!tableScope.enabled)
202
+ return { noScopeMatch: false, pending: pendingAll, undeterminedScope: [] };
203
+ if (tableScope.matchCount === 0)
204
+ return { noScopeMatch: true, pending: [], undeterminedScope: [] };
205
+ const scoped = await filterPendingByScope(migrationsDir, pendingAll, new Set(tableScope.matchedTables));
206
+ return { noScopeMatch: false, pending: scoped.inScope, undeterminedScope: scoped.undetermined };
207
+ }
208
+ /** Nothing to apply: say why, with what --retry did. */
209
+ function renderNothingPending(ctx, plan) {
210
+ const { jsonMode, mode, tableScope } = ctx;
211
+ const input = { jsonMode, mode, scope: tableScope, retry: plan.retry };
212
+ if (plan.noScopeMatch)
213
+ emitNoScopeMatch(input);
214
+ else
215
+ emitNoPending(input);
216
+ return 0;
124
217
  }
125
218
  /** Render the pending plan (JSON early-return in plan mode, text otherwise). */
126
- async function renderPlan(ctx, pending, undeterminedScope) {
219
+ async function renderPlan(ctx, plan) {
127
220
  const { jsonMode, executeRequested, mode, tableScope, migrationsDir } = ctx;
221
+ const { pending, undeterminedScope, emptyMigrations, retry } = plan;
128
222
  if (jsonMode && !executeRequested) {
129
- emitPlanJson({ mode, scope: tableScope, pending, undeterminedScope });
223
+ emitPlanJson({ mode, scope: tableScope, pending, undeterminedScope, emptyMigrations, retry });
130
224
  return 0;
131
225
  }
132
226
  if (!jsonMode) {
133
- await renderPlanText({ migrationsDir, scope: tableScope, undeterminedScope, pending });
227
+ await renderPlanText({ migrationsDir, scope: tableScope, undeterminedScope, pending, emptyMigrations, retry });
134
228
  }
135
229
  return undefined;
136
230
  }
231
+ /** Gate: refuse to apply pending files without executable statements; a plan-only run just warns. */
232
+ function runEmptyMigrationGate(ctx, emptyMigrations) {
233
+ const { executeRequested, jsonMode, mode, tableScope } = ctx;
234
+ if (emptyMigrations.length === 0)
235
+ return undefined;
236
+ // A JSON plan already returned from renderPlan, so jsonMode here means --apply.
237
+ const applyPossible = executeRequested || (!jsonMode && !isBackgroundOrCI());
238
+ if (!applyPossible)
239
+ return undefined;
240
+ if (jsonMode) {
241
+ emitEmptyMigrationsBlockedJson({ mode, scope: tableScope, emptyMigrations });
242
+ return 1;
243
+ }
244
+ throw emptyMigrationsError(emptyMigrations);
245
+ }
137
246
  /** Gate 2: in plan mode, stop unless the user confirms an interactive apply. */
138
247
  async function runConfirmGate(ctx) {
139
248
  const { executeRequested, jsonMode } = ctx;
@@ -179,8 +288,11 @@ async function runDestructiveGate(ctx, pending) {
179
288
  return undefined;
180
289
  }
181
290
  /** Apply each pending migration, journal it, and emit the final summary. */
182
- async function applyPending(ctx, pending, undeterminedScope) {
291
+ async function applyPending(ctx, plan) {
183
292
  const { jsonMode, migrationsDir, db, journalStore, pluginRuntime, config, tableScope, flags } = ctx;
293
+ const { pending, undeterminedScope, retry } = plan;
294
+ // Progress lines go to stderr in --json mode, so stdout stays one JSON document.
295
+ const log = jsonMode ? (line) => console.error(line) : (line) => console.log(line);
184
296
  const appliedNow = [];
185
297
  for (const file of pending) {
186
298
  if (!jsonMode)
@@ -194,13 +306,15 @@ async function applyPending(ctx, pending, undeterminedScope) {
194
306
  flags,
195
307
  migrationsDir,
196
308
  file,
309
+ retry: retry?.action === 'resume' && retry.migration === file ? retry : undefined,
310
+ log,
197
311
  });
198
312
  appliedNow.push(entry);
199
313
  if (!jsonMode)
200
314
  renderApplied(file);
201
315
  }
202
316
  if (jsonMode) {
203
- emitApplySummaryJson({ scope: tableScope, applied: appliedNow, undeterminedScope });
317
+ emitApplySummaryJson({ scope: tableScope, applied: appliedNow, undeterminedScope, retry });
204
318
  return 0;
205
319
  }
206
320
  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;AAE5C,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,IAAI,EAAE,WAAW,CAAA;IACjB,KAAK,EAAE,UAAU,CAAA;IACjB,kBAAkB,EAAE,gBAAgB,EAAE,CAAA;CACvC,GAAG,IAAI,CAOP;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,WAAW,CAAA;IACjB,KAAK,EAAE,UAAU,CAAA;CAClB,GAAG,IAAI,CAaP;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE;IACnC,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,WAAW,CAAA;IACjB,KAAK,EAAE,UAAU,CAAA;CAClB,GAAG,IAAI,CAMP;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,IAAI,EAAE,WAAW,CAAA;IACjB,KAAK,EAAE,UAAU,CAAA;IACjB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAC5B,GAAG,IAAI,CASP;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE;IAC1C,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,EAAE,UAAU,CAAA;IACjB,iBAAiB,EAAE,MAAM,EAAE,CAAA;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBhB;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IAChD,KAAK,EAAE,UAAU,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,eAAe,CAAA;CAC7B,GAAG,IAAI,CAQP;AAED,wBAAsB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI3F;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAEhD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,KAAK,EAAE,UAAU,CAAA;IACjB,OAAO,EAAE,qBAAqB,EAAE,CAAA;IAChC,iBAAiB,EAAE,MAAM,EAAE,CAAA;CAC5B,GAAG,IAAI,CASP;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../src/commands/migrate/output.ts"],"names":[],"mappings":"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"}