定制 imjonos/clickhouse-migrations 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

imjonos/clickhouse-migrations

Composer 安装命令:

composer require imjonos/clickhouse-migrations

包简介

PHP Clickhouse Migrations

README 文档

README

Simple PHP Clickhouse migrations
Supported 2 connection types:
PDO - \Nos\DbAdapters\MysqlDbClientAdapter::class
HTTP (smi2/phpclickhouse) - \Nos\DbAdapters\ClickHouseDbClientAdapter::class

Installation

Via Composer

$ composer require imjonos/clickhouse-migrations

How to use

  1. Copy to the {ROOT_OF_THE_PROJECT}:
    {ROOT_OF_THE_PROJECT}/config/clickhouse-migrations.php - config file
    {ROOT_OF_THE_PROJECT}/database/migrations/ - migrations dir
    {ROOT_OF_THE_PROJECT}/database/clickhouse_migrations.log - migrations log file

  2. Run
$ php ./vendor/bin/clickhouse-migrate [force]

Config example:

return [
    'adapter' => \Nos\DbAdapters\ClickHouseDbClientAdapter::class, // \Nos\DbAdapters\MysqlDbClientAdapter::class
    'host' => 'clickhouse',
    'port' => 8123,
    'database' => 'test',
    'username' => 'default',
    'password' => '',
    'dir' => __DIR__ . '/../database/migrations',
    'history_file' => __DIR__ . '/../database/clickhouse_migrations.log',
    'bindings' => ['redpanda:9092' => '{KAFKA_BROKER_LIST}', 'local_' => '{APP_ENV}']
];

Migration file example:

CREATE TABLE IF NOT EXISTS users_queue
(
user_id    UInt64,
name       String,
created_at DATETIME
) ENGINE = Kafka SETTINGS
kafka_broker_list = '{KAFKA_BROKER_LIST}',
kafka_topic_list = '{APP_ENV}users',
kafka_group_name = '{APP_ENV}clickhouse-group-users',
kafka_max_block_size = 1048576,
kafka_format = 'JSONEachRow';

CREATE TABLE IF NOT EXISTS users
(
user_id    UInt64,
name       String,
created_at DATETIME
) ENGINE = ReplacingMergeTree
PRIMARY KEY (user_id)
ORDER BY (user_id);

CREATE MATERIALIZED VIEW users_mv TO users
AS
SELECT *
FROM users_queue;

https://github.com/imjonos/clickhouse-migrations/blob/master/database/migrations/1_create_users_table.sql

Contributing

Please see contributing.md for details and a todolist.

License

license. Please see the license file for more information.

统计信息

  • 总下载量: 16
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-08-22