attr: clickhouse_migrations.__doc__
Project description
Clickhouse Migrations
Clickhouse is known for its scale to store and fetch large datasets.
Development and Maintenance of large-scale db systems many times requires constant changes to the actual DB system. Holding off the scripts to migrate these will be painful.
Features:
- Supports multi statements - more than one query per migration file.
- Allow running migrations out-of-box
- Simple file migrations format: {VERSION}_{name}.sql
Installation
You can install from pypi using pip install clickhouse-migrations
.
Usage
In command line
clickhouse-migrations --db-host localhost \
--db-user default \
--db-password secret \
--db-name test \
--migrations-dir ./migrations
In code
from clickhouse_migrations.clickhouse_cluster import ClickhouseCluster
cluster = ClickhouseCluster(db_host, db_user, db_password)
cluster.migrate(db_name, migrations_home, create_db_if_no_exists=True, multi_statement=True)
Parameter | Description | Default |
---|---|---|
db_host | Clickhouse database hostname | localhost |
db_user | Clickhouse uesr | **** |
db_password | ***** | **** |
db_name | Clickhouse database name | None |
migrations_home | Path to list of migration files | <project_root> |
create_db_if_no_exists | If the db_name is not present, enabling this will create the db |
True |
multi_statement | Allow multiple statements in migration files | True |
Notes
The Clickhouse driver does not natively support executing multipe statements in a single query. To allow for multiple statements in a single migration, you can use the multi_statement param. There are two important caveats:
- This mode splits the migration text into separately-executed statements by a semi-colon ;. Thus cannot be used when a statement in the migration contains a string with a semi-colon.
- The queries are not executed in any sort of transaction/batch, meaning you are responsible for fixing partial migrations.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for clickhouse-migrations-0.2.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b3baa922f9f0e52a9896cd88bf3f1690f3a9a3716925d94abdc1ed41c32095a |
|
MD5 | 5b46a0338d623619496e622e46388b55 |
|
BLAKE2b-256 | 2aac4f8c680ad715ea811bec64c1998db9ab11b46cae513932ec12fe8e409be7 |
Close
Hashes for clickhouse_migrations-0.2.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c7ffaaf44af7c3aafa78b4a6fd81df9bf21b3b61a9411a43c3d83776e1be20a |
|
MD5 | fdc331b4403102ac7958ad2ddb45aedb |
|
BLAKE2b-256 | 6c95603264d2359ba6e5a1058a3df17faefd37dffdd59db9a7c0f6ad2634ba35 |