clickhouse-migrate-cli: Reusable administrative CLI for ClickHouse migrations

[ bsd3, database, library ] [ Propose Tags ] [ Report a vulnerability ]

Reusable administrative CLI for ClickHouse migrations. Application-owned configuration, coordination, rendering and exit policy.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0
Change log CHANGELOG.md
Dependencies aeson (>=2.2.4.1 && <2.4), base (>=4.21 && <4.22), bytestring (>=0.12.2 && <0.13), clickhouse-migrate (>=0.1 && <0.2), containers (>=0.7 && <0.9), optparse-applicative (>=0.18.1 && <0.20), text (>=2.1 && <2.2) [details]
Tested with ghc ==9.12.4
License BSD-3-Clause
Author shinzui
Maintainer shinzui@users.noreply.github.com
Uploaded by shinzui at 2026-10-16T20:11:17Z
Category Database
Source repo head: git clone https://github.com/shinzui/clickhouse-migrate.git(clickhouse-migrate-cli)
Distributions
Downloads 3 total (3 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for clickhouse-migrate-cli-0.1.0.0

[back to package description]

clickhouse-migrate-cli

Mount commandParser or use parseInvocation, then pass the application-owned environment and compiled plan to handleCommand. The application chooses configuration, exclusive-access provider, event/diagnostic sinks, command policy, stdout and exit code. The reusable library performs no implicit environment/secret loading or process exit. Offline plan never evaluates the environment; mutations require a provider.

Includes plan, status, history, verify with require-current, up with explicit retained initialization UUID, all four repair operations, and adoption preview/apply/resume. No force/reset/checksum-rewrite operations. Repair/adoption validate explicit audit, expected state and quiescence/evidence before core dispatch. Adoption reads only an explicit bounded strict JSON evidence file; executable SQL comes from the compiled plan.

renderJson returns one schemaVersion 1 document without a newline. The caller writes it after normal return and keeps progress on a separate sink. Synchronous failures retain primary cause, latest acknowledged report, query/receipt identities and separate secondary errors. Cancellation is rethrown and may produce no final JSON. Default text/JSON excludes SQL, credentials and raw exception bodies. Frozen golden fixtures ship under test/golden; the workspace's docs/user/contracts/json-v1.md defines the wire format.