mavlitov98/clickhouse-migrations

Installs: 1 012

Dependents: 0

Suggesters: 0

Security: 0

Stars: 7

Watchers: 1

Forks: 0

Open Issues: 0

Type:symfony-bundle

v1.0.0 2023-02-15 08:16 UTC

This package is auto-updated.

Last update: 2024-04-19 09:55:42 UTC


README

ClickhouseMigrationsBundle

psalm level psalm type coverage

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.

Installation

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],
];

Configuration

# 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)

Commands

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]