franswjy403/laravel-clickhouse-migrations

Laravel 的 ClickHouse 迁移。原始版本可在此访问:alexeykhr/laravel-clickhouse-migrations

v1.0.1 2020-08-10 19:03 UTC

README

Build Latest Stable Version codecov Total Downloads Downloads Month

安装

通过 Composer 安装此包。

$ composer require alexeykhr/laravel-clickhouse-migrations

注意:需要 PHP 7.2.5 或更高版本

发布 Clickhouse 配置

$ php artisan vendor:publish --provider='Alexeykhr\ClickhouseMigrations\Providers\MigrationProvider'

基本用法

创建新的迁移文件

$ php artisan make:clickhouse-migration {name}

上行迁移

$ php artisan clickhouse-migrate

撤销最后迁移

$ php artisan clickhouse-migration:rollback

高级用法

新建迁移

要创建新的迁移,请使用以下命令

$ php artisan make:clickhouse-migration {name}

例如

$ php artisan make:clickhouse-migration create_users_table

新文件将位于配置中指定的路径:clickhouse.path

您可以使用库中包含的更准备的占位符,通过添加 --table 选项来快速添加新表

$ php artisan make:clickhouse-migration create_users_table --table=users

路径

您可以通过传递 --path 选项来覆盖迁移文件夹的路径

$ php artisan make:clickhouse-migration create_users_table --path=database/new-migrations-folder

如果您想使用文件的绝对路径,请添加一个额外的选项 - 将 --realpath 选项添加到现有选项中

$ php artisan make:clickhouse-migration create_users_table --path=/path/to/migrations --realpath

占位符

在创建新文件时,您可以使用您(覆盖)准备的占位符,列表:clickhouse.stubs

例如

$ php artisan make:clickhouse-migration create_users_table --stub=default

您还可以添加 处理器,通过它们,您可以在创建每个文件时自定义占位符

$ php artisan make:clickhouse-migration create_users_table --stub=myStub --stub.handler='App\Clickhouse\MyHandler'

该类必须实现 Alexeykhr\ClickhouseMigrations\Contracts\MigrationStubHandlerContract 接口

您可以传递您的 $parameters,例如

$ php artisan make:clickhouse-migration create_users_table --stub.handler='App\Clickhouse\MyHandler' --stub.param=key:value --stub.param=table:products

您还可以注册一个全局处理器,该处理器适用于所有生成的占位符文件:clickhouse.handlers.global

上行迁移

带有 Realpath 的路径选项

强制

要在生产迁移期间移除交互式问题,请使用 --force 选项

$ php artisan clickhouse-migrate --force

输出

要输出要应用的迁移,请使用 --output 选项

$ php artisan clickhouse-migrate --output

在应用显示的迁移之前 - 将显示一个交互式问题,要移除它,您可以为此选项添加另一个 --force 选项

$ php artisan clickhouse-migrate --output --force

步骤

您可以指定需要应用多少个文件

$ php artisan clickhouse-migrate --step=1

0 - 所有文件

下行迁移

具有与 上行迁移 相同的属性。

其他

您可以使用单例对象 smi2/phpClickHouse 来查询 ClickHouse(用于迁移)

app('clickhouse')->select(/* Query */);
app('clickhouse')->write(/* Query */);

更新日志

每个版本的详细更改都记录在 CHANGELOG.md 中。

许可协议

MIT