2017-25 © Pedro Peláez
 

library laravel-clickhouse

image

kirill-latish/laravel-clickhouse

  • Thursday, July 26, 2018
  • by kirill-latish
  • Repository
  • 1 Watchers
  • 0 Stars
  • 3 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 8 Forks
  • 0 Open issues
  • 7 Versions
  • 0 % Grown

The README.md

laravel-clickhouse

Build Status StyleCI Coverage Status, (*1)

Eloquent model for ClickHouse, (*2)

Prerequisites

  • php 7.1
  • clickhouse server

Installation

$ composer require esazykin/laravel-clickhouse

Then add the code above into your config/app.php file providers section, (*3)

Esazykin\LaravelClickHouse\ClickHouseServiceProvider::class,

And add new connection into your config/database.php file. Something like this:, (*4)

'connections' => [
    'clickhouse' => [
        'driver' => 'clickhouse',
        'host' => '',
        'port' => '',
        'database' => '',
        'username' => '',
        'password' => '',
        'options' => [
            'timeout' => 10,
            'protocol' => 'https'
        ]
    ]
]

Or like this, if clickhouse runs in cluster, (*5)

'connections' => [
    'clickhouse' => [
        'driver' => 'clickhouse',
        'cluster' => [
            'server-1' => [
                'host' => '',
                'port' => '',
                'database' => '',
                'username' => '',
                'password' => '',
                'options' => [
                    'timeout' => 10,
                    'protocol' => 'https'
                ]
            ],
            'server-2' => [
                'host' => '',
                'port' => '',
                'database' => '',
                'username' => '',
                'password' => '',
                'options' => [
                    'timeout' => 10,
                    'protocol' => 'https'
                ]
            ]
        ]
    ]
]

Then create model, (*6)

<?php

use Esazykin\LaravelClickHouse\Database\Eloquent\Model;

class Payment extends Model
{
    protected $table = 'payments';
}

And use it, (*7)

Payment::select(raw('count() AS cnt'), 'payment_system')
    ->whereBetween('payed_at', [
        Carbon\Carbon::parse('2017-01-01'),
        now(),
    ])
    ->groupBy('payment_system')
    ->get();

Roadmap

  • more tests
  • Model::with() method
  • relations

The Versions

26/07 2018

dev-master

9999999-dev

  Sources   Download

MIT

The Requires

 

The Development Requires

laravel eloquent clickhouse

26/07 2018

v0.1.1

0.1.1.0

  Sources   Download

MIT

The Requires

 

The Development Requires

laravel eloquent clickhouse

21/12 2017

dev-analysis-8nlQP1

dev-analysis-8nlQP1

  Sources   Download

MIT

The Requires

 

The Development Requires

laravel eloquent clickhouse

21/12 2017

dev-analysis-8mB6PY

dev-analysis-8mB6PY

  Sources   Download

MIT

The Requires

 

The Development Requires

laravel eloquent clickhouse

15/12 2017

dev-analysis-qJ7E6D

dev-analysis-qJ7E6D

  Sources   Download

MIT

The Requires

 

The Development Requires

laravel eloquent clickhouse

13/12 2017

dev-analysis-qJ7b9E

dev-analysis-qJ7b9E

  Sources   Download

MIT

The Requires

 

The Development Requires

laravel eloquent clickhouse