imjonos / clickhouse-migrations
PHP Clickhouse 迁移
dev-master
2023-08-22 07:57 UTC
Requires
- php: ^8.1
- imjonos/db-adapters: dev-master
This package is auto-updated.
Last update: 2024-09-22 10:19:13 UTC
README
简单的 PHP Clickhouse 迁移
支持 2 种连接类型
PDO - \Nos\DbAdapters\MysqlDbClientAdapter::class
HTTP (smi2/phpclickhouse) - \Nos\DbAdapters\ClickHouseDbClientAdapter::class
安装
通过 Composer
$ composer require imjonos/clickhouse-migrations
如何使用
- 复制到项目根目录
{ROOT_OF_THE_PROJECT}/config/clickhouse-migrations.php - 配置文件
{ROOT_OF_THE_PROJECT}/database/migrations/ - 迁移目录
{ROOT_OF_THE_PROJECT}/database/clickhouse_migrations.log - 迁移日志文件
- 运行
$ php ./vendor/bin/clickhouse-migrate [force]
配置示例
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}'] ];
迁移文件示例
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;
贡献
请参阅contributing.md以获取详细信息及待办事项列表。
许可证
许可证。请参阅许可证文件以获取更多信息。