This bundle integrates the Clickhouse Migrations into Symfony applications. Database migrations help you version the changes in your database schema and apply them in a predictable way on every server running the application.
composer require mavlitov98/clickhouse-migrations
If you don't use Symfony Flex, you must enable the bundle manually in the application:
// config/bundles.php
// in older Symfony apps, enable the bundle in app/AppKernel.php
return [
// ...
ClickhouseMigrations\ClickhouseMigrationsBundle::class => ['all' => true],
];
# in config/packages/clickhouse_migrations.yaml
clickhouse_migrations:
connection: # connection configuration (required)
host: '%env(CLICKHOUSE_HOST)%'
port: '%env(CLICKHOUSE_PORT)%'
username: '%env(CLICKHOUSE_USERNAME)%'
password: '%env(CLICKHOUSE_PASSWORD)%'
clickhouse_migrations_version_table: 'ch_migrations' # version table name (optional)
clickhouse_migrations_path: '%kernel.project_dir%/src/Migrations/Clickhouse' # migration path (optional)
clickhouse_migrations_namespace: 'App\\Migrations\\Clickhouse' # migration class namespace (optional)
Generate new migration for ClickHouse:
php bin/console clickhouse-migrations:generate
Apply all generated migrations to ClickHouse:
php bin/console clickhouse-migrations:migrate
Apply or rollback ClickHouse migration:
php bin/console clickhouse-migrations:execute [VersionXXXXXXXXXXXXXX] [up|down]