/laravel-clickhouse

Laravel ClickHouse adds CH client integration, generation & execution of ClickHouse database migrations to the Laravel application.

Primary LanguagePHPMIT LicenseMIT

Laravel ClickHouse

laravel-clickhouse

Discord Releases License

Introduction

Laravel ClickHouse database integration. This package includes generation and execution of the ClickHouse database migrations in the Laravel application.

Features

Installation

Pull in the package through Composer.

composer require cybercog/laravel-clickhouse

Setup

Add environment variables in .env file.

CLICKHOUSE_HOST=localhost
CLICKHOUSE_PORT=8123
CLICKHOUSE_USER=default
CLICKHOUSE_PASSWORD=
CLICKHOUSE_DATABASE=default

Configuration customization

Publish ClickHouse configuration.

php artisan vendor:publish --provider="Cog\Laravel\Clickhouse\ClickhouseServiceProvider" --tag=config

Edit config/clickhouse.php file.

Usage

ClickHouse client

You can use a singleton object smi2/phpClickHouse to query ClickHouse:

app(\ClickHouseDB\Client::class)->select(
    /* Query */
);

app(\ClickHouseDB\Client::class)->write(
    /* Query */
);

ClickHouse database migration

Create migration

php artisan make:clickhouse-migration create_example_table

New migration will be created in database/clickhouse-migrations directory.

Run migrations

php artisan clickhouse:migrate

To remove the interactive question during production migrations, you can use --force option.

php artisan clickhouse:migrate --force
Step

You can specify how many files need to be applied:

php artisan clickhouse:migrate --step=1

Value 0 is default — all files

Rollback migrations

Rolling back migrations is intentionally unavailable. Migrations should go only forward.

Changelog

Detailed changes for each release are documented in the CHANGELOG.md.

License

🌟 Stargazers over time

Stargazers over time

About CyberCog

CyberCog is a Social Unity of enthusiasts. Research the best solutions in product & software development is our passion.

CyberCog