chkit 0.1.0 → 0.1.2-beta.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/commands/check/command.js +1 -1
- package/dist/commands/check/command.js.map +1 -1
- package/dist/commands/generate/command.js +4 -1
- package/dist/commands/generate/command.js.map +1 -1
- package/dist/commands/migrate/command.d.ts.map +1 -1
- package/dist/commands/migrate/command.js +101 -99
- package/dist/commands/migrate/command.js.map +1 -1
- package/dist/commands/migrate/output.d.ts +52 -0
- package/dist/commands/migrate/output.d.ts.map +1 -0
- package/dist/commands/migrate/output.js +103 -0
- package/dist/commands/migrate/output.js.map +1 -0
- package/dist/commands/status.js +1 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/runtime/journal-store.d.ts +1 -1
- package/dist/runtime/journal-store.d.ts.map +1 -1
- package/dist/runtime/journal-store.js +21 -6
- package/dist/runtime/journal-store.js.map +1 -1
- package/package.json +5 -5
|
@@ -28,7 +28,7 @@ export const checkCommand = {
|
|
|
28
28
|
}
|
|
29
29
|
const db = pluginContext.executor;
|
|
30
30
|
const database = config.clickhouse?.database;
|
|
31
|
-
const journalStore = createJournalStore(db);
|
|
31
|
+
const journalStore = createJournalStore(db, config.clickhouse?.cluster);
|
|
32
32
|
const files = await listMigrations(migrationsDir);
|
|
33
33
|
const journal = await journalStore.readJournal();
|
|
34
34
|
const databaseMissing = journalStore.databaseMissing;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/check/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAExC,OAAO,EAAE,UAAU,EAAyB,MAAM,kBAAkB,CAAA;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACvG,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EACL,aAAa,EACb,aAAa,EACb,eAAe,EACf,aAAa,GAEd,MAAM,aAAa,CAAA;AAEpB,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,0BAA0B,EAAW,CAAA;AAE3G,MAAM,CAAC,MAAM,YAAY,GAAqB;IAC5C,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,4CAA4C;IACzD,KAAK,EAAE,CAAC,WAAW,CAAC;IACpB,KAAK,CAAC,GAAG,CAAC,OAAO;QACf,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,OAAO,CAAA;QAC3E,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,GAAG,YAAY,EAAE,WAAW,CAAU,CAAC,CAAA;QACpE,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI,CAAA;QACrC,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAA;QACrC,MAAM,aAAa,GAAG,CAAC,CAAC,SAAS,CAAC,CAAA;QAClC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;QACtD,KAAK,CAAC,OAAO,EAAE,iBAAiB,MAAM,UAAU,QAAQ,EAAE,CAAC,CAAA;QAC3D,MAAM,KAAK,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAE/C,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAA;QAC9F,CAAC;QACD,MAAM,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAA;QACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAA;QAE5C,MAAM,YAAY,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/check/command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { generateArtifacts } from '@chkit/codegen';
|
|
2
|
-
import { ChxValidationError, planDiff } from '@chkit/core';
|
|
2
|
+
import { applyOnClusterToPlan, ChxValidationError, planDiff } from '@chkit/core';
|
|
3
3
|
import { defineFlags, typedFlags } from '../../plugins.js';
|
|
4
4
|
import { resolveDirs } from '../../runtime/config.js';
|
|
5
5
|
import { GLOBAL_FLAGS } from '../../runtime/global-flags.js';
|
|
@@ -119,6 +119,9 @@ async function cmdGenerate(ctx) {
|
|
|
119
119
|
renameMappings: activeTableMappings,
|
|
120
120
|
}).plan;
|
|
121
121
|
}
|
|
122
|
+
// Cluster mode: stamp `ON CLUSTER <name>` onto every DDL statement as a final
|
|
123
|
+
// post-pass, after all plan transforms (renames, plugins, scope filtering).
|
|
124
|
+
plan = applyOnClusterToPlan(plan, config.clickhouse?.cluster);
|
|
122
125
|
if (planMode) {
|
|
123
126
|
emitGeneratePlanOutput(plan, jsonMode, resolvedScope);
|
|
124
127
|
return 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/generate/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/generate/command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/commands/migrate/command.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/commands/migrate/command.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,gBAAgB,EAKtB,MAAM,kBAAkB,CAAA;AA4CzB,eAAO,MAAM,cAAc,EAAE,gBAK5B,CAAA"}
|
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
import { mkdir
|
|
2
|
-
import {
|
|
3
|
-
import { defineFlags, typedFlags } from '../../plugins.js';
|
|
1
|
+
import { mkdir } from 'node:fs/promises';
|
|
2
|
+
import { defineFlags, typedFlags, } from '../../plugins.js';
|
|
4
3
|
import { resolveDirs } from '../../runtime/config.js';
|
|
4
|
+
import { debug } from '../../runtime/debug.js';
|
|
5
5
|
import { GLOBAL_FLAGS } from '../../runtime/global-flags.js';
|
|
6
|
-
import {
|
|
7
|
-
import { createJournalStore, resolveJournalTableName } from '../../runtime/journal-store.js';
|
|
8
|
-
import { extractMigrationMetadata } from '../../runtime/migration-metadata.js';
|
|
6
|
+
import { createJournalStore } from '../../runtime/journal-store.js';
|
|
9
7
|
import { findChecksumMismatches, listMigrations, readSnapshot, } from '../../runtime/migration-store.js';
|
|
10
|
-
import { resolveTableScope, tableKeysFromDefinitions
|
|
11
|
-
import { debug } from '../../runtime/debug.js';
|
|
8
|
+
import { resolveTableScope, tableKeysFromDefinitions } from '../../runtime/table-scope.js';
|
|
12
9
|
import { applyMigration } from './apply.js';
|
|
13
10
|
import { scanDestructive } from './destructive.js';
|
|
11
|
+
import { emitApplySummaryJson, emitChecksumMismatchJson, emitDestructiveBlockedJson, emitNoPending, emitNoScopeMatch, emitPlanJson, renderApplied, renderApplySummary, renderMigrationLog, renderPlanOnlyNotice, renderPlanText, } from './output.js';
|
|
14
12
|
import { confirmApply, confirmDestructiveExecution, isBackgroundOrCI, printDestructiveOperationDetails, } from './prompts.js';
|
|
15
13
|
import { filterPendingByScope } from './scope.js';
|
|
16
14
|
const MIGRATE_FLAGS = defineFlags([
|
|
@@ -25,6 +23,27 @@ export const migrateCommand = {
|
|
|
25
23
|
run: cmdMigrate,
|
|
26
24
|
};
|
|
27
25
|
async function cmdMigrate(runCtx) {
|
|
26
|
+
const ctx = await prepareMigration(runCtx);
|
|
27
|
+
const checksumExit = await runChecksumGate(ctx);
|
|
28
|
+
if (checksumExit !== undefined)
|
|
29
|
+
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);
|
|
35
|
+
if (planExit !== undefined)
|
|
36
|
+
return planExit;
|
|
37
|
+
const confirmExit = await runConfirmGate(ctx);
|
|
38
|
+
if (confirmExit !== undefined)
|
|
39
|
+
return confirmExit;
|
|
40
|
+
const destructiveExit = await runDestructiveGate(ctx, pending);
|
|
41
|
+
if (destructiveExit !== undefined)
|
|
42
|
+
return destructiveExit;
|
|
43
|
+
return applyPending(ctx, pending, undeterminedScope);
|
|
44
|
+
}
|
|
45
|
+
/** Parse flags, resolve deps, run onConfigLoaded, and load the pending set. */
|
|
46
|
+
async function prepareMigration(runCtx) {
|
|
28
47
|
const { flags, config, configPath, pluginRuntime, pluginContext } = runCtx;
|
|
29
48
|
const f = typedFlags(flags, [...GLOBAL_FLAGS, ...MIGRATE_FLAGS]);
|
|
30
49
|
const executeRequested = f['--apply'] === true || f['--execute'] === true;
|
|
@@ -37,7 +56,7 @@ async function cmdMigrate(runCtx) {
|
|
|
37
56
|
throw new Error('clickhouse config is required for migrate (journal is stored in ClickHouse)');
|
|
38
57
|
}
|
|
39
58
|
const db = pluginContext.executor;
|
|
40
|
-
const journalStore = createJournalStore(db);
|
|
59
|
+
const journalStore = createJournalStore(db, config.clickhouse?.cluster);
|
|
41
60
|
const snapshot = await readSnapshot(metaDir);
|
|
42
61
|
const tableScope = resolveTableScope(tableSelector, tableKeysFromDefinitions(snapshot?.definitions ?? []));
|
|
43
62
|
const mode = executeRequested ? 'execute' : 'plan';
|
|
@@ -54,34 +73,41 @@ async function cmdMigrate(runCtx) {
|
|
|
54
73
|
const appliedNames = new Set(journal.applied.map((entry) => entry.name));
|
|
55
74
|
const pendingAll = files.filter((file) => !appliedNames.has(file));
|
|
56
75
|
debug('migrate', `migrations: total=${files.length}, applied=${journal.applied.length}, pending=${pendingAll.length}`);
|
|
76
|
+
return {
|
|
77
|
+
jsonMode,
|
|
78
|
+
executeRequested,
|
|
79
|
+
allowDestructive,
|
|
80
|
+
mode,
|
|
81
|
+
migrationsDir,
|
|
82
|
+
db,
|
|
83
|
+
journalStore,
|
|
84
|
+
config,
|
|
85
|
+
flags,
|
|
86
|
+
pluginRuntime,
|
|
87
|
+
tableScope,
|
|
88
|
+
journal,
|
|
89
|
+
pendingAll,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
/** Gate 1: block when applied migrations no longer match their recorded checksum. */
|
|
93
|
+
async function runChecksumGate(ctx) {
|
|
94
|
+
const { migrationsDir, journal, jsonMode, mode, tableScope } = ctx;
|
|
57
95
|
const checksumMismatches = await findChecksumMismatches(migrationsDir, journal);
|
|
58
|
-
if (checksumMismatches.length
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
error: 'Checksum mismatch detected on applied migrations',
|
|
65
|
-
checksumMismatches,
|
|
66
|
-
});
|
|
67
|
-
return 1;
|
|
68
|
-
}
|
|
69
|
-
throw new Error(`Checksum mismatch detected on applied migrations: ${checksumMismatches.map((item) => item.name).join(', ')}`);
|
|
96
|
+
if (checksumMismatches.length === 0)
|
|
97
|
+
return undefined;
|
|
98
|
+
debug('migrate', `checksum mismatches: ${checksumMismatches.map((m) => m.name).join(', ')}`);
|
|
99
|
+
if (jsonMode) {
|
|
100
|
+
emitChecksumMismatchJson({ mode, scope: tableScope, checksumMismatches });
|
|
101
|
+
return 1;
|
|
70
102
|
}
|
|
103
|
+
throw new Error(`Checksum mismatch detected on applied migrations: ${checksumMismatches.map((item) => item.name).join(', ')}`);
|
|
104
|
+
}
|
|
105
|
+
/** Resolve table scope, filter the pending set, and short-circuit empty runs. */
|
|
106
|
+
async function resolvePendingScope(ctx) {
|
|
107
|
+
const { tableScope, jsonMode, mode, migrationsDir, pendingAll } = ctx;
|
|
71
108
|
if (tableScope.enabled && tableScope.matchCount === 0) {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
mode,
|
|
75
|
-
scope: tableScope,
|
|
76
|
-
pending: [],
|
|
77
|
-
applied: [],
|
|
78
|
-
warning: `No tables matched selector "${tableScope.selector ?? ''}".`,
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
console.log(`No tables matched selector "${tableScope.selector ?? ''}". No migrations selected.`);
|
|
83
|
-
}
|
|
84
|
-
return 0;
|
|
109
|
+
emitNoScopeMatch({ jsonMode, mode, scope: tableScope });
|
|
110
|
+
return { exit: 0, pending: [], undeterminedScope: [] };
|
|
85
111
|
}
|
|
86
112
|
let pending = pendingAll;
|
|
87
113
|
let undeterminedScope = [];
|
|
@@ -91,69 +117,49 @@ async function cmdMigrate(runCtx) {
|
|
|
91
117
|
undeterminedScope = scoped.undetermined;
|
|
92
118
|
}
|
|
93
119
|
if (pending.length === 0) {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
console.log('No pending migrations.');
|
|
99
|
-
}
|
|
100
|
-
return 0;
|
|
120
|
+
emitNoPending({ jsonMode, mode, scope: tableScope });
|
|
121
|
+
return { exit: 0, pending, undeterminedScope };
|
|
101
122
|
}
|
|
123
|
+
return { pending, undeterminedScope };
|
|
124
|
+
}
|
|
125
|
+
/** Render the pending plan (JSON early-return in plan mode, text otherwise). */
|
|
126
|
+
async function renderPlan(ctx, pending, undeterminedScope) {
|
|
127
|
+
const { jsonMode, executeRequested, mode, tableScope, migrationsDir } = ctx;
|
|
102
128
|
if (jsonMode && !executeRequested) {
|
|
103
|
-
|
|
104
|
-
mode,
|
|
105
|
-
scope: tableScope,
|
|
106
|
-
pending,
|
|
107
|
-
...(undeterminedScope.length > 0 ? { undeterminedMigrations: undeterminedScope } : {}),
|
|
108
|
-
});
|
|
129
|
+
emitPlanJson({ mode, scope: tableScope, pending, undeterminedScope });
|
|
109
130
|
return 0;
|
|
110
131
|
}
|
|
111
132
|
if (!jsonMode) {
|
|
112
|
-
|
|
113
|
-
console.log(`Table scope: ${tableScope.selector ?? ''} (${tableScope.matchCount} matched)`);
|
|
114
|
-
for (const table of tableScope.matchedTables)
|
|
115
|
-
console.log(`- ${table}`);
|
|
116
|
-
}
|
|
117
|
-
if (undeterminedScope.length > 0) {
|
|
118
|
-
console.log(`⚠ ${undeterminedScope.length} pending migration(s) have no table markers; ` +
|
|
119
|
-
"including them because their target tables can't be determined under --table:");
|
|
120
|
-
for (const file of undeterminedScope)
|
|
121
|
-
console.log(` - ${file}`);
|
|
122
|
-
}
|
|
123
|
-
console.log(`Pending migrations: ${pending.length}`);
|
|
124
|
-
for (const file of pending) {
|
|
125
|
-
console.log(`- ${file}`);
|
|
126
|
-
const sql = await readFile(join(migrationsDir, file), 'utf8');
|
|
127
|
-
const meta = extractMigrationMetadata(sql);
|
|
128
|
-
if (meta.log)
|
|
129
|
-
console.log(` ${meta.log}`);
|
|
130
|
-
}
|
|
133
|
+
await renderPlanText({ migrationsDir, scope: tableScope, undeterminedScope, pending });
|
|
131
134
|
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
if (!
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
}
|
|
135
|
+
return undefined;
|
|
136
|
+
}
|
|
137
|
+
/** Gate 2: in plan mode, stop unless the user confirms an interactive apply. */
|
|
138
|
+
async function runConfirmGate(ctx) {
|
|
139
|
+
const { executeRequested, jsonMode } = ctx;
|
|
140
|
+
if (executeRequested)
|
|
141
|
+
return undefined;
|
|
142
|
+
if (isBackgroundOrCI() || jsonMode) {
|
|
143
|
+
if (!jsonMode)
|
|
144
|
+
renderPlanOnlyNotice();
|
|
145
|
+
return 0;
|
|
144
146
|
}
|
|
147
|
+
const confirmed = await confirmApply();
|
|
148
|
+
if (!confirmed) {
|
|
149
|
+
console.log('Migration apply cancelled by user.');
|
|
150
|
+
return 0;
|
|
151
|
+
}
|
|
152
|
+
return undefined;
|
|
153
|
+
}
|
|
154
|
+
/** Gate 3: block destructive migrations unless allowed, confirmed, or forced. */
|
|
155
|
+
async function runDestructiveGate(ctx, pending) {
|
|
156
|
+
const { migrationsDir, allowDestructive, config, jsonMode, tableScope } = ctx;
|
|
145
157
|
const destructive = await scanDestructive(migrationsDir, pending);
|
|
146
158
|
let destructiveAllowed = allowDestructive || config.safety?.allowDestructive === true;
|
|
147
159
|
if (destructive.migrations.length > 0 && !destructiveAllowed) {
|
|
148
160
|
const error = 'Blocked destructive migration execution. Re-run with --allow-destructive or set safety.allowDestructive=true after review.';
|
|
149
161
|
if (jsonMode) {
|
|
150
|
-
|
|
151
|
-
mode: 'execute',
|
|
152
|
-
scope: tableScope,
|
|
153
|
-
error,
|
|
154
|
-
destructiveMigrations: destructive.migrations,
|
|
155
|
-
destructiveOperations: destructive.operations,
|
|
156
|
-
});
|
|
162
|
+
emitDestructiveBlockedJson({ scope: tableScope, error, destructive });
|
|
157
163
|
return 3;
|
|
158
164
|
}
|
|
159
165
|
if (isBackgroundOrCI()) {
|
|
@@ -170,14 +176,15 @@ async function cmdMigrate(runCtx) {
|
|
|
170
176
|
if (destructive.migrations.length > 0 && !destructiveAllowed) {
|
|
171
177
|
throw new Error('Blocked destructive migration execution.');
|
|
172
178
|
}
|
|
179
|
+
return undefined;
|
|
180
|
+
}
|
|
181
|
+
/** Apply each pending migration, journal it, and emit the final summary. */
|
|
182
|
+
async function applyPending(ctx, pending, undeterminedScope) {
|
|
183
|
+
const { jsonMode, migrationsDir, db, journalStore, pluginRuntime, config, tableScope, flags } = ctx;
|
|
173
184
|
const appliedNow = [];
|
|
174
185
|
for (const file of pending) {
|
|
175
|
-
if (!jsonMode)
|
|
176
|
-
|
|
177
|
-
const meta = extractMigrationMetadata(sql);
|
|
178
|
-
if (meta.log)
|
|
179
|
-
console.log(` ${meta.log}`);
|
|
180
|
-
}
|
|
186
|
+
if (!jsonMode)
|
|
187
|
+
await renderMigrationLog(migrationsDir, file);
|
|
181
188
|
const entry = await applyMigration({
|
|
182
189
|
db,
|
|
183
190
|
journalStore,
|
|
@@ -190,18 +197,13 @@ async function cmdMigrate(runCtx) {
|
|
|
190
197
|
});
|
|
191
198
|
appliedNow.push(entry);
|
|
192
199
|
if (!jsonMode)
|
|
193
|
-
|
|
200
|
+
renderApplied(file);
|
|
194
201
|
}
|
|
195
202
|
if (jsonMode) {
|
|
196
|
-
|
|
197
|
-
mode: 'execute',
|
|
198
|
-
scope: tableScope,
|
|
199
|
-
applied: appliedNow,
|
|
200
|
-
...(undeterminedScope.length > 0 ? { undeterminedMigrations: undeterminedScope } : {}),
|
|
201
|
-
});
|
|
203
|
+
emitApplySummaryJson({ scope: tableScope, applied: appliedNow, undeterminedScope });
|
|
202
204
|
return 0;
|
|
203
205
|
}
|
|
204
|
-
|
|
206
|
+
renderApplySummary();
|
|
205
207
|
return 0;
|
|
206
208
|
}
|
|
207
209
|
//# sourceMappingURL=command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/migrate/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/migrate/command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { TableScope } from '../../plugins.js';
|
|
2
|
+
import type { MigrationJournalEntry } from '../../runtime/migration-store.js';
|
|
3
|
+
import type { DestructiveScan } from './destructive.js';
|
|
4
|
+
export type MigrateMode = 'plan' | 'execute';
|
|
5
|
+
interface ChecksumMismatch {
|
|
6
|
+
name: string;
|
|
7
|
+
expected: string;
|
|
8
|
+
actual: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function emitChecksumMismatchJson(input: {
|
|
11
|
+
mode: MigrateMode;
|
|
12
|
+
scope: TableScope;
|
|
13
|
+
checksumMismatches: ChecksumMismatch[];
|
|
14
|
+
}): void;
|
|
15
|
+
export declare function emitNoScopeMatch(input: {
|
|
16
|
+
jsonMode: boolean;
|
|
17
|
+
mode: MigrateMode;
|
|
18
|
+
scope: TableScope;
|
|
19
|
+
}): void;
|
|
20
|
+
export declare function emitNoPending(input: {
|
|
21
|
+
jsonMode: boolean;
|
|
22
|
+
mode: MigrateMode;
|
|
23
|
+
scope: TableScope;
|
|
24
|
+
}): void;
|
|
25
|
+
export declare function emitPlanJson(input: {
|
|
26
|
+
mode: MigrateMode;
|
|
27
|
+
scope: TableScope;
|
|
28
|
+
pending: string[];
|
|
29
|
+
undeterminedScope: string[];
|
|
30
|
+
}): void;
|
|
31
|
+
export declare function renderPlanText(input: {
|
|
32
|
+
migrationsDir: string;
|
|
33
|
+
scope: TableScope;
|
|
34
|
+
undeterminedScope: string[];
|
|
35
|
+
pending: string[];
|
|
36
|
+
}): Promise<void>;
|
|
37
|
+
export declare function renderPlanOnlyNotice(): void;
|
|
38
|
+
export declare function emitDestructiveBlockedJson(input: {
|
|
39
|
+
scope: TableScope;
|
|
40
|
+
error: string;
|
|
41
|
+
destructive: DestructiveScan;
|
|
42
|
+
}): void;
|
|
43
|
+
export declare function renderMigrationLog(migrationsDir: string, file: string): Promise<void>;
|
|
44
|
+
export declare function renderApplied(file: string): void;
|
|
45
|
+
export declare function emitApplySummaryJson(input: {
|
|
46
|
+
scope: TableScope;
|
|
47
|
+
applied: MigrationJournalEntry[];
|
|
48
|
+
undeterminedScope: string[];
|
|
49
|
+
}): void;
|
|
50
|
+
export declare function renderApplySummary(): void;
|
|
51
|
+
export {};
|
|
52
|
+
//# sourceMappingURL=output.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { readFile } from 'node:fs/promises';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { emitJson } from '../../runtime/json-output.js';
|
|
4
|
+
import { resolveJournalTableName } from '../../runtime/journal-store.js';
|
|
5
|
+
import { extractMigrationMetadata } from '../../runtime/migration-metadata.js';
|
|
6
|
+
export function emitChecksumMismatchJson(input) {
|
|
7
|
+
emitJson('migrate', {
|
|
8
|
+
mode: input.mode,
|
|
9
|
+
scope: input.scope,
|
|
10
|
+
error: 'Checksum mismatch detected on applied migrations',
|
|
11
|
+
checksumMismatches: input.checksumMismatches,
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
export function emitNoScopeMatch(input) {
|
|
15
|
+
const selector = input.scope.selector ?? '';
|
|
16
|
+
if (input.jsonMode) {
|
|
17
|
+
emitJson('migrate', {
|
|
18
|
+
mode: input.mode,
|
|
19
|
+
scope: input.scope,
|
|
20
|
+
pending: [],
|
|
21
|
+
applied: [],
|
|
22
|
+
warning: `No tables matched selector "${selector}".`,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
console.log(`No tables matched selector "${selector}". No migrations selected.`);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
export function emitNoPending(input) {
|
|
30
|
+
if (input.jsonMode) {
|
|
31
|
+
emitJson('migrate', { mode: input.mode, scope: input.scope, pending: [], applied: [] });
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
console.log('No pending migrations.');
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export function emitPlanJson(input) {
|
|
38
|
+
emitJson('migrate', {
|
|
39
|
+
mode: input.mode,
|
|
40
|
+
scope: input.scope,
|
|
41
|
+
pending: input.pending,
|
|
42
|
+
...(input.undeterminedScope.length > 0
|
|
43
|
+
? { undeterminedMigrations: input.undeterminedScope }
|
|
44
|
+
: {}),
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
export async function renderPlanText(input) {
|
|
48
|
+
const { migrationsDir, scope, undeterminedScope, pending } = input;
|
|
49
|
+
if (scope.enabled) {
|
|
50
|
+
console.log(`Table scope: ${scope.selector ?? ''} (${scope.matchCount} matched)`);
|
|
51
|
+
for (const table of scope.matchedTables)
|
|
52
|
+
console.log(`- ${table}`);
|
|
53
|
+
}
|
|
54
|
+
if (undeterminedScope.length > 0) {
|
|
55
|
+
console.log(`⚠ ${undeterminedScope.length} pending migration(s) have no table markers; ` +
|
|
56
|
+
"including them because their target tables can't be determined under --table:");
|
|
57
|
+
for (const file of undeterminedScope)
|
|
58
|
+
console.log(` - ${file}`);
|
|
59
|
+
}
|
|
60
|
+
console.log(`Pending migrations: ${pending.length}`);
|
|
61
|
+
for (const file of pending) {
|
|
62
|
+
console.log(`- ${file}`);
|
|
63
|
+
const sql = await readFile(join(migrationsDir, file), 'utf8');
|
|
64
|
+
const meta = extractMigrationMetadata(sql);
|
|
65
|
+
if (meta.log)
|
|
66
|
+
console.log(` ${meta.log}`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
export function renderPlanOnlyNotice() {
|
|
70
|
+
console.log('\nPlan only. Re-run with --apply to apply and journal these migrations.');
|
|
71
|
+
}
|
|
72
|
+
export function emitDestructiveBlockedJson(input) {
|
|
73
|
+
emitJson('migrate', {
|
|
74
|
+
mode: 'execute',
|
|
75
|
+
scope: input.scope,
|
|
76
|
+
error: input.error,
|
|
77
|
+
destructiveMigrations: input.destructive.migrations,
|
|
78
|
+
destructiveOperations: input.destructive.operations,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
export async function renderMigrationLog(migrationsDir, file) {
|
|
82
|
+
const sql = await readFile(join(migrationsDir, file), 'utf8');
|
|
83
|
+
const meta = extractMigrationMetadata(sql);
|
|
84
|
+
if (meta.log)
|
|
85
|
+
console.log(` ${meta.log}`);
|
|
86
|
+
}
|
|
87
|
+
export function renderApplied(file) {
|
|
88
|
+
console.log(`Applied: ${file}`);
|
|
89
|
+
}
|
|
90
|
+
export function emitApplySummaryJson(input) {
|
|
91
|
+
emitJson('migrate', {
|
|
92
|
+
mode: 'execute',
|
|
93
|
+
scope: input.scope,
|
|
94
|
+
applied: input.applied,
|
|
95
|
+
...(input.undeterminedScope.length > 0
|
|
96
|
+
? { undeterminedMigrations: input.undeterminedScope }
|
|
97
|
+
: {}),
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
export function renderApplySummary() {
|
|
101
|
+
console.log(`\nMigrations recorded in ClickHouse ${resolveJournalTableName()} table.`);
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/commands/migrate/output.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/status.js
CHANGED
|
@@ -17,7 +17,7 @@ export const statusCommand = {
|
|
|
17
17
|
}
|
|
18
18
|
const db = pluginContext.executor;
|
|
19
19
|
const database = config.clickhouse?.database;
|
|
20
|
-
const journalStore = createJournalStore(db);
|
|
20
|
+
const journalStore = createJournalStore(db, config.clickhouse?.cluster);
|
|
21
21
|
await mkdir(migrationsDir, { recursive: true });
|
|
22
22
|
const files = await listMigrations(migrationsDir);
|
|
23
23
|
const journal = await journalStore.readJournal();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAGxC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAEtF,MAAM,CAAC,MAAM,aAAa,GAAqB;IAC7C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,yDAAyD;IACtE,KAAK,EAAE,EAAE;IACT,KAAK,CAAC,GAAG,CAAC,OAAO;QACf,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAA;QAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAA;QACzC,MAAM,EAAE,aAAa,EAAE,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;QAE7C,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAA;QAC/F,CAAC;QACD,MAAM,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAA;QACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAA;QAC5C,MAAM,YAAY,GAAG,kBAAkB,CAAC,EAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,5 +27,5 @@ export interface JournalStore {
|
|
|
27
27
|
readonly databaseMissing: boolean;
|
|
28
28
|
}
|
|
29
29
|
export declare function resolveJournalTableName(): string;
|
|
30
|
-
export declare function createJournalStore(db: ClickHouseExecutor): JournalStore;
|
|
30
|
+
export declare function createJournalStore(db: ClickHouseExecutor, cluster?: string): JournalStore;
|
|
31
31
|
//# sourceMappingURL=journal-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journal-store.d.ts","sourceRoot":"","sources":["../../src/runtime/journal-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"journal-store.d.ts","sourceRoot":"","sources":["../../src/runtime/journal-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAGnF,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAInF,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAA;AAEhE,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,eAAe,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,kBAAkB,EAAE,OAAO,CAAA;IAC3B,UAAU,EAAE,cAAc,EAAE,CAAA;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,WAAW,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACxC,kBAAkB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;IAC5E,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D,WAAW,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACxD,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAA;CAClC;AAID,wBAAgB,uBAAuB,IAAI,MAAM,CAShD;AAgGD,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,YAAY,CAkLzF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { isUnknownDatabaseError } from '@chkit/clickhouse';
|
|
2
|
+
import { onClusterClause } from '@chkit/core';
|
|
2
3
|
import { CLI_VERSION } from './version.js';
|
|
3
4
|
import { debug } from './debug.js';
|
|
4
5
|
const DEFAULT_JOURNAL_TABLE = '_chkit_migrations';
|
|
@@ -76,17 +77,31 @@ function parseOperations(value) {
|
|
|
76
77
|
return [];
|
|
77
78
|
return decoded.map((row) => operationFromTuple(row));
|
|
78
79
|
}
|
|
79
|
-
export function createJournalStore(db) {
|
|
80
|
+
export function createJournalStore(db, cluster) {
|
|
80
81
|
const journalTable = resolveJournalTableName();
|
|
81
|
-
debug('journal', `journal table: ${journalTable}${process.env.CHKIT_JOURNAL_TABLE ? ' (from CHKIT_JOURNAL_TABLE)' : ''}`);
|
|
82
|
-
|
|
82
|
+
debug('journal', `journal table: ${journalTable}${process.env.CHKIT_JOURNAL_TABLE ? ' (from CHKIT_JOURNAL_TABLE)' : ''}${cluster ? ` (ON CLUSTER ${cluster})` : ''}`);
|
|
83
|
+
// In cluster mode the journal must be consistent across every node, so it uses
|
|
84
|
+
// a replicated engine with a no-`{shard}` Keeper path (one cluster-wide group)
|
|
85
|
+
// created `ON CLUSTER`. `{uuid}` is minted once per CREATE and propagated to
|
|
86
|
+
// all nodes by ON CLUSTER, so a dropped journal's stale Keeper entries can
|
|
87
|
+
// never collide with a recreate (REPLICA_ALREADY_EXISTS). The replica id is
|
|
88
|
+
// `{shard}_{replica}` rather than bare `{replica}`: because the path omits
|
|
89
|
+
// `{shard}`, all nodes across all shards share it, so the replica name must be
|
|
90
|
+
// unique cluster-wide — per-shard `{replica}` naming (the common multi-shard
|
|
91
|
+
// layout) would otherwise collide. The read path already uses SYNC REPLICA +
|
|
92
|
+
// FINAL + sequential consistency. Single-node/Cloud keeps the plain engine.
|
|
93
|
+
const onCluster = onClusterClause(cluster);
|
|
94
|
+
const journalEngine = cluster
|
|
95
|
+
? "ReplicatedReplacingMergeTree('/clickhouse/tables/{uuid}/chkit_journal', '{shard}_{replica}', applied_at)"
|
|
96
|
+
: 'ReplacingMergeTree(applied_at)';
|
|
97
|
+
const createTableSql = `CREATE TABLE IF NOT EXISTS ${journalTable}${onCluster} (
|
|
83
98
|
name String,
|
|
84
99
|
applied_at DateTime64(3, 'UTC'),
|
|
85
100
|
checksum String,
|
|
86
101
|
chkit_version String,
|
|
87
102
|
migration_completed Bool DEFAULT true,
|
|
88
103
|
operations ${OPERATIONS_TUPLE_TYPE} DEFAULT []
|
|
89
|
-
) ENGINE =
|
|
104
|
+
) ENGINE = ${journalEngine}
|
|
90
105
|
ORDER BY (name)
|
|
91
106
|
SETTINGS index_granularity = 1`;
|
|
92
107
|
let bootstrapped = false;
|
|
@@ -140,8 +155,8 @@ SETTINGS index_granularity = 1`;
|
|
|
140
155
|
// columns idempotently so older deployments pick them up on first run
|
|
141
156
|
// of the new chkit. ALTER ADD COLUMN IF NOT EXISTS is a metadata op,
|
|
142
157
|
// no data rewrite.
|
|
143
|
-
await db.command(`ALTER TABLE ${journalTable} ADD COLUMN IF NOT EXISTS migration_completed Bool DEFAULT true`);
|
|
144
|
-
await db.command(`ALTER TABLE ${journalTable} ADD COLUMN IF NOT EXISTS operations ${OPERATIONS_TUPLE_TYPE} DEFAULT []`);
|
|
158
|
+
await db.command(`ALTER TABLE ${journalTable}${onCluster} ADD COLUMN IF NOT EXISTS migration_completed Bool DEFAULT true`);
|
|
159
|
+
await db.command(`ALTER TABLE ${journalTable}${onCluster} ADD COLUMN IF NOT EXISTS operations ${OPERATIONS_TUPLE_TYPE} DEFAULT []`);
|
|
145
160
|
}
|
|
146
161
|
async function trySyncReplica() {
|
|
147
162
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journal-store.js","sourceRoot":"","sources":["../../src/runtime/journal-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAA2B,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"journal-store.js","sourceRoot":"","sources":["../../src/runtime/journal-store.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "chkit",
|
|
3
|
-
"version": "0.1.0",
|
|
3
|
+
"version": "0.1.2-beta.0",
|
|
4
4
|
"description": "ClickHouse schema and migration CLI for TypeScript projects",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "ObsessionDB",
|
|
@@ -40,12 +40,12 @@
|
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"fast-glob": "^3.3.2",
|
|
43
|
-
"@chkit/clickhouse": "0.1.0",
|
|
44
|
-
"@chkit/codegen": "0.1.0",
|
|
45
|
-
"@chkit/core": "0.1.0",
|
|
43
|
+
"@chkit/clickhouse": "0.1.2-beta.0",
|
|
44
|
+
"@chkit/codegen": "0.1.2-beta.0",
|
|
45
|
+
"@chkit/core": "0.1.2-beta.0",
|
|
46
46
|
"@logtape/logtape": "^2.0.5"
|
|
47
47
|
},
|
|
48
48
|
"optionalDependencies": {
|
|
49
|
-
"@chkit/plugin-obsessiondb": "0.1.0"
|
|
49
|
+
"@chkit/plugin-obsessiondb": "0.1.2-beta.0"
|
|
50
50
|
}
|
|
51
51
|
}
|