git clone https://github.com/smi2/phpMigrationsClickhouse.git
cd phpMigrationsClickhouse
git submodule init
git submodule update --init --recursive
# copy example config
cp config.default.php config.php
mcedit config.php
./migration.sh help
# php _migration.php help
./migration.sh run 
./migration.sh run [--config=/path/cnf.php --server=config_id]
Откроет выбор сервера/конфигурации и далее выбор миграции.
Если вызвать execone производит миграцию одного указанного файла
./migration.sh execone --file=020_test_db.sql [--config=/path/cnf.php --server=config_id]
<?php
return
[
    'clickhouseProduction'=>
        [
            'clickhouse'=>['host' => 'prod.clickhouse.host.smi2.ru', 'port' => '8123', 'username' => 'UUU',  'password' => 'PPP'],
            'repository'=>__DIR__ . '/../ClickhouseMigrations/',
            'path'=>'ch2.production',
            'split'=>['query'=>';;'],
        ],
    'clickhouseDEVServer'=>
        [
            'clickhouse'=>['host' => '192.168.1.20', 'port' => '8123', 'username' => 'UUU',  'password' => 'PPP'],
            'repository'=>__DIR__ . '/../ClickhouseMigrations/',
            'path'=>'ch.develop',
            'split'=>['query'=>';;'],
        ]
];Миграции хранящиеся в вашем GIT репозитории, в формате
/git_repo_root/[PATH]/[Файлы]
Для конфигурации
       'repository'=>'/var/ClickhouseMigrations/',
       'path'=>'ch.develop',Означает что по этому шаблону будут искаться файлы с миграциями  /var/ClickhouseMigrations/ch.develop/*.[php|sql]
и при открытии будет выполнен git pull
setAutoSplitQuery - разделитель запросов
setTimeout - время выполнение каждого запроса
addSqlUpdate - что накатываем
addSqlDowngrade - что откатываем
<?php
$cluster_name='sharovara'; // задаем имя кластера 
$mclq=new ClickHouseDB\Cluster\Migration($cluster_name); // класс миграции 
$mclq->setTimeout(100.1)->setAutoSplitQuery(';;')->setErrorAction('undo');
$mclq->addSqlUpdate('
DROP DATABASE IF EXISTS shara
;;
CREATE DATABASE IF NOT EXISTS shara
');
$mclq->addSqlDowngrade('DROP DATABASE IF EXISTS shara');
return $mclq;