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 +0,0 @@
1
- {"version":3,"file":"safety-markers.js","sourceRoot":"","sources":["../../src/bin/safety-markers.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import type { SchemaDefinition } from '@chkit/core';
2
- export declare function loadSchemaDefinitions(schemaGlobs: string | string[]): Promise<SchemaDefinition[]>;
3
- //# sourceMappingURL=schema-loader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema-loader.d.ts","sourceRoot":"","sources":["../../src/bin/schema-loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAGnD,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAMvG"}
@@ -1,11 +0,0 @@
1
- import process from 'node:process';
2
- import { loadSchemaDefinitions as loadSchemaDefinitionsFromCore } from '@chkit/core/schema-loader';
3
- import { debug } from './debug.js';
4
- export async function loadSchemaDefinitions(schemaGlobs) {
5
- const globs = Array.isArray(schemaGlobs) ? schemaGlobs : [schemaGlobs];
6
- debug('schema', `loading definitions from globs: [${globs.join(', ')}] (cwd: ${process.cwd()})`);
7
- const definitions = await loadSchemaDefinitionsFromCore(schemaGlobs, { cwd: process.cwd() });
8
- debug('schema', `loaded ${definitions.length} schema definitions`);
9
- return definitions;
10
- }
11
- //# sourceMappingURL=schema-loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema-loader.js","sourceRoot":"","sources":["../../src/bin/schema-loader.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAA;AAElC,OAAO,EAAE,qBAAqB,IAAI,6BAA6B,EAAE,MAAM,2BAA2B,CAAA;AAElG,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAElC,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,WAA8B;IACxE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;IACtE,KAAK,CAAC,QAAQ,EAAE,oCAAoC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAChG,MAAM,WAAW,GAAG,MAAM,6BAA6B,CAAC,WAAW,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IAC5F,KAAK,CAAC,QAAQ,EAAE,UAAU,WAAW,CAAC,MAAM,qBAAqB,CAAC,CAAA;IAClE,OAAO,WAAW,CAAA;AACpB,CAAC"}
@@ -1,38 +0,0 @@
1
- import type { MigrationPlan, SchemaDefinition } from '@chkit/core';
2
- interface ParsedTableSelector {
3
- database?: string;
4
- mode: 'exact' | 'prefix';
5
- value: string;
6
- }
7
- export interface TableScope {
8
- enabled: boolean;
9
- selector?: string;
10
- matchedTables: string[];
11
- matchCount: number;
12
- }
13
- interface TableScopeFilterResult {
14
- plan: MigrationPlan;
15
- omittedOperationCount: number;
16
- }
17
- interface TableRenameMapping {
18
- oldDatabase: string;
19
- oldName: string;
20
- newDatabase: string;
21
- newName: string;
22
- }
23
- export declare function tableKeysFromDefinitions(definitions: SchemaDefinition[]): string[];
24
- export declare function parseTableSelector(input: string): ParsedTableSelector;
25
- export declare function resolveTableScope(selector: string | undefined, availableTables: string[]): TableScope;
26
- export declare function tableKeyFromOperationKey(operationKey: string): string | null;
27
- export declare function databaseKeyFromOperationKey(operationKey: string): string | null;
28
- export declare function filterPlanByTableScope(plan: MigrationPlan, matchedTables: ReadonlySet<string>, options?: {
29
- renameMappings?: TableRenameMapping[];
30
- }): TableScopeFilterResult;
31
- export declare function buildScopedSnapshotDefinitions(input: {
32
- previousDefinitions: SchemaDefinition[];
33
- nextDefinitions: SchemaDefinition[];
34
- matchedTables: ReadonlySet<string>;
35
- renameMappings?: TableRenameMapping[];
36
- }): SchemaDefinition[];
37
- export {};
38
- //# sourceMappingURL=table-scope.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-scope.d.ts","sourceRoot":"","sources":["../../src/bin/table-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,aAAa,EACb,gBAAgB,EAEjB,MAAM,aAAa,CAAA;AAEpB,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,UAAU,sBAAsB;IAC9B,IAAI,EAAE,aAAa,CAAA;IACnB,qBAAqB,EAAE,MAAM,CAAA;CAC9B;AAED,UAAU,kBAAkB;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;CAChB;AAMD,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,gBAAgB,EAAE,GAAG,MAAM,EAAE,CAElF;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,mBAAmB,CAyDrE;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,UAAU,CA4BrG;AAED,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK5E;AAED,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG/E;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,aAAa,EACnB,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,EAClC,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,kBAAkB,EAAE,CAAA;CAAO,GACtD,sBAAsB,CAqDxB;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE;IACpD,mBAAmB,EAAE,gBAAgB,EAAE,CAAA;IACvC,eAAe,EAAE,gBAAgB,EAAE,CAAA;IACnC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAClC,cAAc,CAAC,EAAE,kBAAkB,EAAE,CAAA;CACtC,GAAG,gBAAgB,EAAE,CAqCrB"}
@@ -1,167 +0,0 @@
1
- function tableKey(database, name) {
2
- return `${database}.${name}`;
3
- }
4
- export function tableKeysFromDefinitions(definitions) {
5
- return [...new Set(definitions.filter((def) => def.kind === 'table').map((def) => tableKey(def.database, def.name)))].sort((a, b) => a.localeCompare(b));
6
- }
7
- export function parseTableSelector(input) {
8
- const selector = input.trim();
9
- if (!selector) {
10
- throw new Error('Invalid --table selector "". Expected <table>, <table_prefix*>, <database.table>, or <database.table_prefix*>.');
11
- }
12
- const dot = selector.indexOf('.');
13
- const [database, tableToken] = dot === -1
14
- ? [undefined, selector]
15
- : [selector.slice(0, dot).trim(), selector.slice(dot + 1).trim()];
16
- if (database !== undefined && (database.length === 0 || database.includes('*'))) {
17
- throw new Error(`Invalid --table selector "${selector}". Database qualifier must be non-empty and cannot contain "*".`);
18
- }
19
- if (!tableToken || tableToken === '*') {
20
- throw new Error(`Invalid --table selector "${selector}". A bare "*" is not supported; use an exact table or trailing wildcard prefix.`);
21
- }
22
- const wildcardCount = [...tableToken].filter((char) => char === '*').length;
23
- if (wildcardCount > 1 || (wildcardCount === 1 && !tableToken.endsWith('*'))) {
24
- throw new Error(`Invalid --table selector "${selector}". "*" is only allowed as a trailing suffix (for example, events_*).`);
25
- }
26
- if (tableToken.slice(0, -1).includes('*')) {
27
- throw new Error(`Invalid --table selector "${selector}". "*" is only allowed as a trailing suffix (for example, events_*).`);
28
- }
29
- if (tableToken.endsWith('*')) {
30
- const value = tableToken.slice(0, -1);
31
- if (!value) {
32
- throw new Error(`Invalid --table selector "${selector}". A bare "*" is not supported; use an exact table or trailing wildcard prefix.`);
33
- }
34
- return {
35
- database,
36
- mode: 'prefix',
37
- value,
38
- };
39
- }
40
- return {
41
- database,
42
- mode: 'exact',
43
- value: tableToken,
44
- };
45
- }
46
- export function resolveTableScope(selector, availableTables) {
47
- if (!selector) {
48
- return {
49
- enabled: false,
50
- matchedTables: [],
51
- matchCount: 0,
52
- };
53
- }
54
- const parsed = parseTableSelector(selector);
55
- const normalized = [...new Set(availableTables)].sort((a, b) => a.localeCompare(b));
56
- const matchedTables = normalized.filter((candidate) => {
57
- const dot = candidate.indexOf('.');
58
- if (dot <= 0 || dot === candidate.length - 1)
59
- return false;
60
- const database = candidate.slice(0, dot);
61
- const table = candidate.slice(dot + 1);
62
- if (parsed.database && parsed.database !== database)
63
- return false;
64
- if (parsed.mode === 'exact')
65
- return table === parsed.value;
66
- return table.startsWith(parsed.value);
67
- });
68
- return {
69
- enabled: true,
70
- selector,
71
- matchedTables,
72
- matchCount: matchedTables.length,
73
- };
74
- }
75
- export function tableKeyFromOperationKey(operationKey) {
76
- if (!operationKey.startsWith('table:'))
77
- return null;
78
- const target = operationKey.slice('table:'.length);
79
- const nextSegment = target.indexOf(':');
80
- return nextSegment === -1 ? target : target.slice(0, nextSegment);
81
- }
82
- export function databaseKeyFromOperationKey(operationKey) {
83
- if (!operationKey.startsWith('database:'))
84
- return null;
85
- return operationKey.slice('database:'.length);
86
- }
87
- export function filterPlanByTableScope(plan, matchedTables, options = {}) {
88
- if (matchedTables.size === 0) {
89
- return {
90
- plan: {
91
- operations: [],
92
- renameSuggestions: [],
93
- riskSummary: { safe: 0, caution: 0, danger: 0 },
94
- },
95
- omittedOperationCount: plan.operations.length,
96
- };
97
- }
98
- const selectedTables = new Set(matchedTables);
99
- for (const mapping of options.renameMappings ?? []) {
100
- const oldKey = tableKey(mapping.oldDatabase, mapping.oldName);
101
- const newKey = tableKey(mapping.newDatabase, mapping.newName);
102
- if (selectedTables.has(oldKey) || selectedTables.has(newKey)) {
103
- selectedTables.add(oldKey);
104
- selectedTables.add(newKey);
105
- }
106
- }
107
- const selectedDatabases = new Set([...selectedTables].map((value) => value.split('.')[0] ?? ''));
108
- const operations = plan.operations.filter((operation) => {
109
- const targetTable = tableKeyFromOperationKey(operation.key);
110
- if (targetTable)
111
- return selectedTables.has(targetTable);
112
- const targetDatabase = databaseKeyFromOperationKey(operation.key);
113
- if (targetDatabase)
114
- return selectedDatabases.has(targetDatabase);
115
- return false;
116
- });
117
- const renameSuggestions = plan.renameSuggestions.filter((suggestion) => selectedTables.has(tableKey(suggestion.database, suggestion.table)));
118
- const riskSummary = operations.reduce((summary, operation) => {
119
- summary[operation.risk] += 1;
120
- return summary;
121
- }, { safe: 0, caution: 0, danger: 0 });
122
- return {
123
- plan: {
124
- operations,
125
- renameSuggestions,
126
- riskSummary,
127
- },
128
- omittedOperationCount: plan.operations.length - operations.length,
129
- };
130
- }
131
- export function buildScopedSnapshotDefinitions(input) {
132
- if (input.matchedTables.size === 0)
133
- return input.previousDefinitions;
134
- const selectedTables = new Set(input.matchedTables);
135
- for (const mapping of input.renameMappings ?? []) {
136
- const oldKey = tableKey(mapping.oldDatabase, mapping.oldName);
137
- const newKey = tableKey(mapping.newDatabase, mapping.newName);
138
- if (selectedTables.has(oldKey) || selectedTables.has(newKey)) {
139
- selectedTables.add(oldKey);
140
- selectedTables.add(newKey);
141
- }
142
- }
143
- const result = new Map();
144
- for (const definition of input.previousDefinitions) {
145
- result.set(`${definition.kind}:${definition.database}.${definition.name}`, definition);
146
- }
147
- for (const [key, definition] of [...result.entries()]) {
148
- if (definition.kind !== 'table')
149
- continue;
150
- const currentTableKey = tableKey(definition.database, definition.name);
151
- if (!selectedTables.has(currentTableKey))
152
- continue;
153
- const stillExists = input.nextDefinitions.some((item) => item.kind === 'table' && tableKey(item.database, item.name) === currentTableKey);
154
- if (!stillExists)
155
- result.delete(key);
156
- }
157
- for (const definition of input.nextDefinitions) {
158
- if (definition.kind !== 'table')
159
- continue;
160
- const currentTableKey = tableKey(definition.database, definition.name);
161
- if (!selectedTables.has(currentTableKey))
162
- continue;
163
- result.set(`${definition.kind}:${definition.database}.${definition.name}`, definition);
164
- }
165
- return [...result.values()];
166
- }
167
- //# sourceMappingURL=table-scope.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-scope.js","sourceRoot":"","sources":["../../src/bin/table-scope.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare const CLI_VERSION: string;
2
- //# sourceMappingURL=version.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/bin/version.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,WAAW,QAAc,CAAA"}
@@ -1,5 +0,0 @@
1
- import { createRequire } from 'node:module';
2
- const require = createRequire(import.meta.url);
3
- const pkg = require('../../package.json');
4
- export const CLI_VERSION = pkg.version;
5
- //# sourceMappingURL=version.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/bin/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAE3C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAwB,CAAA;AAEhE,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAA"}
@@ -1,8 +0,0 @@
1
- export declare function diffByName<T>(expectedItems: readonly T[], actualItems: readonly T[], getName: (item: T) => string, getShape: (item: T) => string): {
2
- missing: string[];
3
- extra: string[];
4
- changed: string[];
5
- };
6
- export declare function diffSettings(expectedSettings: Record<string, string | number | boolean>, actualSettings: Record<string, string>): string[];
7
- export declare function diffNamedShapeMaps(expected: ReadonlyMap<string, string>, actual: ReadonlyMap<string, string>): string[];
8
- //# sourceMappingURL=drift-diff.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drift-diff.d.ts","sourceRoot":"","sources":["../src/drift-diff.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,CAAC,EAC1B,aAAa,EAAE,SAAS,CAAC,EAAE,EAC3B,WAAW,EAAE,SAAS,CAAC,EAAE,EACzB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC5B,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAC5B;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAyB3D;AAED,wBAAgB,YAAY,CAC1B,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAC3D,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACrC,MAAM,EAAE,CAWV;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,MAAM,EAAE,CASV"}
@@ -1,46 +0,0 @@
1
- export function diffByName(expectedItems, actualItems, getName, getShape) {
2
- const expected = new Map(expectedItems.map((item) => [getName(item), getShape(item)]));
3
- const actual = new Map(actualItems.map((item) => [getName(item), getShape(item)]));
4
- const missing = [];
5
- const extra = [];
6
- const changed = [];
7
- for (const [name, expectedShape] of expected.entries()) {
8
- const actualShape = actual.get(name);
9
- if (!actualShape) {
10
- missing.push(name);
11
- continue;
12
- }
13
- if (actualShape !== expectedShape) {
14
- changed.push(name);
15
- }
16
- }
17
- for (const name of actual.keys()) {
18
- if (!expected.has(name)) {
19
- extra.push(name);
20
- }
21
- }
22
- return { missing, extra, changed };
23
- }
24
- export function diffSettings(expectedSettings, actualSettings) {
25
- const settingKeys = Object.keys(expectedSettings).sort();
26
- const diffs = [];
27
- for (const key of settingKeys) {
28
- const left = key in expectedSettings ? String(expectedSettings[key]) : '';
29
- const right = key in actualSettings ? String(actualSettings[key]) : '';
30
- if (left !== right) {
31
- diffs.push(key);
32
- }
33
- }
34
- return diffs;
35
- }
36
- export function diffNamedShapeMaps(expected, actual) {
37
- const keys = [...new Set([...expected.keys(), ...actual.keys()])].sort();
38
- const diffs = [];
39
- for (const key of keys) {
40
- if ((expected.get(key) ?? '') !== (actual.get(key) ?? '')) {
41
- diffs.push(key);
42
- }
43
- }
44
- return diffs;
45
- }
46
- //# sourceMappingURL=drift-diff.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drift-diff.js","sourceRoot":"","sources":["../src/drift-diff.ts"],"names":[],"mappings":"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"}
package/dist/drift.d.ts DELETED
@@ -1,66 +0,0 @@
1
- import { type ColumnDefinition, type ProjectionDefinition, type SkipIndexDefinition, type TableDefinition } from '@chkit/core';
2
- type TableDriftReasonCode = 'missing_column' | 'extra_column' | 'changed_column' | 'setting_mismatch' | 'index_mismatch' | 'ttl_mismatch' | 'engine_mismatch' | 'primary_key_mismatch' | 'order_by_mismatch' | 'partition_by_mismatch' | 'unique_key_mismatch' | 'projection_mismatch';
3
- type ObjectDriftReasonCode = 'missing_object' | 'extra_object' | 'kind_mismatch';
4
- type DriftReasonCode = ObjectDriftReasonCode | TableDriftReasonCode;
5
- interface SchemaObjectShape {
6
- kind: 'table' | 'view' | 'materialized_view';
7
- database: string;
8
- name: string;
9
- }
10
- export interface ObjectDriftDetail {
11
- code: ObjectDriftReasonCode;
12
- object: string;
13
- expectedKind?: SchemaObjectShape['kind'];
14
- actualKind?: SchemaObjectShape['kind'];
15
- }
16
- interface ActualTableShape {
17
- columns: ColumnDefinition[];
18
- settings: Record<string, string>;
19
- indexes: SkipIndexDefinition[];
20
- ttl?: string;
21
- engine?: string;
22
- primaryKey?: string;
23
- orderBy?: string;
24
- uniqueKey?: string;
25
- partitionBy?: string;
26
- projections: ProjectionDefinition[];
27
- }
28
- export interface TableDriftDetail {
29
- table: string;
30
- reasonCodes: TableDriftReasonCode[];
31
- missingColumns: string[];
32
- extraColumns: string[];
33
- changedColumns: string[];
34
- settingDiffs: string[];
35
- indexDiffs: string[];
36
- ttlMismatch: boolean;
37
- engineMismatch: boolean;
38
- primaryKeyMismatch: boolean;
39
- orderByMismatch: boolean;
40
- uniqueKeyMismatch: boolean;
41
- partitionByMismatch: boolean;
42
- projectionDiffs: string[];
43
- }
44
- interface DriftReasonSummary {
45
- counts: Partial<Record<DriftReasonCode, number>>;
46
- total: number;
47
- object: number;
48
- table: number;
49
- }
50
- export declare function compareSchemaObjects(expectedObjects: SchemaObjectShape[], actualObjects: SchemaObjectShape[]): {
51
- missing: string[];
52
- extra: string[];
53
- kindMismatches: Array<{
54
- expected: string;
55
- actual: string;
56
- object: string;
57
- }>;
58
- objectDrift: ObjectDriftDetail[];
59
- };
60
- export declare function summarizeDriftReasons(input: {
61
- objectDrift: ObjectDriftDetail[];
62
- tableDrift: TableDriftDetail[];
63
- }): DriftReasonSummary;
64
- export declare function compareTableShape(expected: TableDefinition, actual: ActualTableShape): TableDriftDetail | null;
65
- export {};
66
- //# sourceMappingURL=drift.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drift.d.ts","sourceRoot":"","sources":["../src/drift.ts"],"names":[],"mappings":"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"}
package/dist/drift.js DELETED
@@ -1,220 +0,0 @@
1
- import { normalizeEngine as coreNormalizeEngine, normalizeSQLFragment, } from '@chkit/core';
2
- import { diffByName, diffNamedShapeMaps, diffSettings } from './drift-diff.js';
3
- function schemaObjectKey(item) {
4
- return `${item.kind}:${item.database}.${item.name}`;
5
- }
6
- export function compareSchemaObjects(expectedObjects, actualObjects) {
7
- const expectedMap = new Map(expectedObjects.map((item) => [schemaObjectKey(item), item.kind]));
8
- const actualMap = new Map(actualObjects.map((item) => [schemaObjectKey(item), item.kind]));
9
- const missing = [];
10
- const extra = [];
11
- const kindMismatches = [];
12
- const objectDrift = [];
13
- for (const [key, kind] of expectedMap.entries()) {
14
- const rest = key.slice(key.indexOf(':') + 1);
15
- const actualKind = actualMap.get(key);
16
- if (actualKind)
17
- continue;
18
- const sameObjectDifferentKind = [...actualMap.entries()].find(([actualKey]) => actualKey.endsWith(`:${rest}`));
19
- if (sameObjectDifferentKind) {
20
- const mismatch = {
21
- object: rest,
22
- expected: kind,
23
- actual: sameObjectDifferentKind[1],
24
- };
25
- kindMismatches.push(mismatch);
26
- objectDrift.push({
27
- code: 'kind_mismatch',
28
- object: rest,
29
- expectedKind: mismatch.expected,
30
- actualKind: mismatch.actual,
31
- });
32
- continue;
33
- }
34
- missing.push(key);
35
- objectDrift.push({
36
- code: 'missing_object',
37
- object: key,
38
- expectedKind: kind,
39
- });
40
- }
41
- for (const [key, kind] of actualMap.entries()) {
42
- if (expectedMap.has(key))
43
- continue;
44
- const rest = key.slice(key.indexOf(':') + 1);
45
- const hasExpectedWithDifferentKind = [...expectedMap.keys()].some((expectedKey) => expectedKey.endsWith(`:${rest}`));
46
- if (hasExpectedWithDifferentKind)
47
- continue;
48
- extra.push(key);
49
- objectDrift.push({
50
- code: 'extra_object',
51
- object: key,
52
- actualKind: kind,
53
- });
54
- }
55
- return {
56
- missing,
57
- extra,
58
- kindMismatches,
59
- objectDrift,
60
- };
61
- }
62
- export function summarizeDriftReasons(input) {
63
- const counts = {};
64
- let object = 0;
65
- let table = 0;
66
- for (const item of input.objectDrift) {
67
- counts[item.code] = (counts[item.code] ?? 0) + 1;
68
- object += 1;
69
- }
70
- for (const tableDrift of input.tableDrift) {
71
- for (const code of tableDrift.reasonCodes) {
72
- counts[code] = (counts[code] ?? 0) + 1;
73
- table += 1;
74
- }
75
- }
76
- return {
77
- counts,
78
- total: object + table,
79
- object,
80
- table,
81
- };
82
- }
83
- function normalizeColumnShape(column) {
84
- const normalizeDefaultValue = (value) => {
85
- const normalized = normalizeSQLFragment(value);
86
- const quoted = normalized.match(/^'(.*)'$/);
87
- if (!quoted)
88
- return normalized;
89
- return (quoted[1] ?? '').replace(/''/g, "'");
90
- };
91
- const normalizedDefault = (() => {
92
- if (column.default === undefined)
93
- return '';
94
- const asString = String(column.default);
95
- if (asString.startsWith('fn:'))
96
- return normalizeDefaultValue(asString.slice(3));
97
- return normalizeDefaultValue(asString);
98
- })();
99
- const parts = [
100
- `type=${String(column.type).trim()}`,
101
- `nullable=${column.nullable ? '1' : '0'}`,
102
- `default=${normalizedDefault}`,
103
- `comment=${column.comment?.trim() ?? ''}`,
104
- ];
105
- return parts.join('|');
106
- }
107
- function renderIndexTypeFingerprint(index) {
108
- switch (index.type) {
109
- case 'minmax':
110
- return 'minmax';
111
- case 'set':
112
- return `set(${index.maxRows})`;
113
- case 'bloom_filter':
114
- return index.falsePositiveRate !== undefined
115
- ? `bloom_filter(${index.falsePositiveRate})`
116
- : 'bloom_filter';
117
- case 'tokenbf_v1':
118
- return `tokenbf_v1(${index.sizeBytes}, ${index.hashFunctions}, ${index.randomSeed})`;
119
- case 'ngrambf_v1':
120
- return `ngrambf_v1(${index.ngramSize}, ${index.sizeBytes}, ${index.hashFunctions}, ${index.randomSeed})`;
121
- }
122
- }
123
- function normalizeIndexShape(index) {
124
- return [
125
- `expr=${normalizeSQLFragment(index.expression)}`,
126
- `type=${renderIndexTypeFingerprint(index)}`,
127
- `granularity=${index.granularity}`,
128
- ].join('|');
129
- }
130
- function normalizeProjectionShape(projection) {
131
- return `query=${normalizeSQLFragment(projection.query)}`;
132
- }
133
- function normalizeClause(value) {
134
- if (!value)
135
- return '';
136
- const normalized = normalizeSQLFragment(value).replace(/`/g, '');
137
- const wrapped = normalized.match(/^\((.*)\)$/);
138
- return wrapped?.[1] ? normalizeSQLFragment(wrapped[1]) : normalized;
139
- }
140
- function normalizeEngine(value) {
141
- if (!value)
142
- return '';
143
- return coreNormalizeEngine(normalizeSQLFragment(value)).toLowerCase();
144
- }
145
- export function compareTableShape(expected, actual) {
146
- const columnDiff = diffByName(expected.columns, actual.columns, (column) => column.name, normalizeColumnShape);
147
- const missingColumns = columnDiff.missing;
148
- const extraColumns = columnDiff.extra;
149
- const changedColumns = columnDiff.changed;
150
- const settingDiffs = diffSettings(expected.settings ?? {}, actual.settings);
151
- const expectedIndexes = new Map((expected.indexes ?? []).map((idx) => [idx.name, normalizeIndexShape(idx)]));
152
- const actualIndexes = new Map(actual.indexes.map((idx) => [idx.name, normalizeIndexShape(idx)]));
153
- const indexDiffs = diffNamedShapeMaps(expectedIndexes, actualIndexes);
154
- const expectedTTL = expected.ttl ? normalizeSQLFragment(expected.ttl) : '';
155
- const actualTTL = actual.ttl ? normalizeSQLFragment(actual.ttl) : '';
156
- const ttlMismatch = expectedTTL !== actualTTL;
157
- const engineMismatch = normalizeEngine(expected.engine) !== normalizeEngine(actual.engine);
158
- const expectedPrimaryKey = normalizeClause(expected.primaryKey.join(', '));
159
- const actualPrimaryKey = normalizeClause(actual.primaryKey);
160
- const primaryKeyMismatch = expectedPrimaryKey !== actualPrimaryKey;
161
- const expectedOrderBy = normalizeClause(expected.orderBy.join(', '));
162
- const actualOrderBy = normalizeClause(actual.orderBy);
163
- const orderByMismatch = expectedOrderBy !== actualOrderBy;
164
- const expectedUniqueKey = normalizeClause((expected.uniqueKey ?? []).join(', '));
165
- const actualUniqueKey = normalizeClause(actual.uniqueKey);
166
- const uniqueKeyMismatch = expectedUniqueKey !== actualUniqueKey;
167
- const expectedPartitionBy = normalizeClause(expected.partitionBy);
168
- const actualPartitionBy = normalizeClause(actual.partitionBy);
169
- const partitionByMismatch = expectedPartitionBy !== actualPartitionBy;
170
- const expectedProjections = new Map((expected.projections ?? []).map((projection) => [
171
- projection.name,
172
- normalizeProjectionShape(projection),
173
- ]));
174
- const actualProjections = new Map(actual.projections.map((projection) => [projection.name, normalizeProjectionShape(projection)]));
175
- const projectionDiffs = diffNamedShapeMaps(expectedProjections, actualProjections);
176
- const reasonCodes = [];
177
- if (missingColumns.length > 0)
178
- reasonCodes.push('missing_column');
179
- if (extraColumns.length > 0)
180
- reasonCodes.push('extra_column');
181
- if (changedColumns.length > 0)
182
- reasonCodes.push('changed_column');
183
- if (settingDiffs.length > 0)
184
- reasonCodes.push('setting_mismatch');
185
- if (indexDiffs.length > 0)
186
- reasonCodes.push('index_mismatch');
187
- if (ttlMismatch)
188
- reasonCodes.push('ttl_mismatch');
189
- if (engineMismatch)
190
- reasonCodes.push('engine_mismatch');
191
- if (primaryKeyMismatch)
192
- reasonCodes.push('primary_key_mismatch');
193
- if (orderByMismatch)
194
- reasonCodes.push('order_by_mismatch');
195
- if (uniqueKeyMismatch)
196
- reasonCodes.push('unique_key_mismatch');
197
- if (partitionByMismatch)
198
- reasonCodes.push('partition_by_mismatch');
199
- if (projectionDiffs.length > 0)
200
- reasonCodes.push('projection_mismatch');
201
- if (reasonCodes.length === 0)
202
- return null;
203
- return {
204
- table: `${expected.database}.${expected.name}`,
205
- reasonCodes,
206
- missingColumns: missingColumns.sort((a, b) => a.localeCompare(b)),
207
- extraColumns: extraColumns.sort((a, b) => a.localeCompare(b)),
208
- changedColumns: changedColumns.sort((a, b) => a.localeCompare(b)),
209
- settingDiffs,
210
- indexDiffs,
211
- ttlMismatch,
212
- engineMismatch,
213
- primaryKeyMismatch,
214
- orderByMismatch,
215
- uniqueKeyMismatch,
216
- partitionByMismatch,
217
- projectionDiffs,
218
- };
219
- }
220
- //# sourceMappingURL=drift.js.map