Open source project

ClickMigrate

A modern migration framework for ClickHouse with predictable deployments and a developer-friendly workflow.

Overview

Overview

ClickMigrate is an open source migration framework built specifically for ClickHouse. Inspired by Alembic, it combines SQL-based migrations, automatic version tracking, checksum validation, and a clean CLI to make database schema changes simple, reliable, and production ready.

Its focus is predictable deployments, clear migration history and an excellent developer experience.

Why ClickMigrate?

Why ClickMigrate?

Managing ClickHouse schema changes should be straightforward. ClickMigrate removes unnecessary complexity while providing everything needed for reliable deployments, including ordered migrations, integrity validation, flexible configuration, and an intuitive developer experience.

Features

  • SQL-based migrations
  • Automatic migration ordering
  • Migration history tracking
  • SHA-256 checksum validation
  • CLI and Python API
  • Dry-run support
  • Flexible configuration

Installation

Installation

Requires Python 3.11 or later.

install.sh
# Requires Python 3.11+
pip install ClickMigrate

# Development installation
git clone https://github.com/QueueForge/ClickMigrate.git
cd clickmigrate
pip install -e ".[dev]"

Documentation

Documentation hub

The documentation hub covers getting started, contributing and reference material for the project.

Open Documentation

Contributing

We welcome contributions of every size.

ClickMigrate is an open source project maintained by QueueForge. Contributions, bug reports, feature requests, and pull requests are always welcome.

License

MIT License

Released under the permissive MIT License for personal and commercial use.

MIT License. Copyright (c) 2026 QueueForge. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the conditions in the full LICENSE file.