torecan/lara-cassandra
最新稳定版本:v0.12.0
Composer 安装命令:
composer require torecan/lara-cassandra
包简介
Cassandra based query builder for laravel.
README 文档
README
A Laraval database driver for Cassandra.
Installation
Before installation:
This is project is still on development progress, before add this on your project, please be sure minimum-stability variable is "dev"
"minimum-stability": "dev",
Install using composer:
composer require torecan/lara-cassandra
To support the Laravel database migration feature a custom migration service provider is needed:
- LaraCassandra\CassandraMigrationServiceProvider::class
It must be added at the very top of the service provider list so it can correctly override the default migration service provider.
Configuration
Change your default database connection name in config/database.php:
'default' => env('DB_CONNECTION', 'cassandra'),
And add a new cassandra connection:
'cassandra' => [
'driver' => 'cassandra',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', 8082),
'keyspace' => env('DB_DATABASE', 'cassandra_db'),
'username' => env('DB_USERNAME', ''),
'password' => env('DB_PASSWORD', ''),
'page_size' => env('DB_PAGE_SIZE', 5000),
'consistency' => LaraCassandra\Consistency::LOCAL_ONE,
'timeout' => null,
'connect_timeout' => 5.0,
'request_timeout' => 12.0,
],
.env Examples
DB_CONNECTION=cassandra
DB_HOST=127.0.0.1
DB_PORT=8082
or
DB_CONNECTION=cassandra
DB_HOST=172.198.1.1,172.198.1.2,172.198.1.3
DB_PORT=8082,8082,7748
DB_DATABASE=db_name
DB_USERNAME=torecan
DB_PASSWORD=***
DB_PAGE_SIZE=500
Supported Consistency Settings
- LaraCassandra\Consistency::ALL
- LaraCassandra\Consistency::ANY
- LaraCassandra\Consistency::EACH_QUORUM
- LaraCassandra\Consistency::LOCAL_ONE
- LaraCassandra\Consistency::LOCAL_QUORUM
- LaraCassandra\Consistency::LOCAL_SERIAL
- LaraCassandra\Consistency::ONE
- LaraCassandra\Consistency::TWO
- LaraCassandra\Consistency::THREE
- LaraCassandra\Consistency::QUORUM
- LaraCassandra\Consistency::SERIAL
Schema
Laravel migration features are supported (when LaraCassandra\CassandraMigrationServiceProvider is used):
php artisan migrate
php artisan make:migration createNewTable
Examples
See
Not all features are supported by Cassandra - those will throw exceptions when used.
Additionaly these features are supported by this driver:
- Schemas with Partition Keys and Clustering Columns:
$table->int('bucket')->partition();
$table->int('id')->partition();
$table->int('userid')->partition();
$table->int('join_date')->clustering('DESC');
$table->int('update_date')->clustering('ASC');
$table->int('another_date')->clustering();
// Note: ->primary() is identical with partition()
-
Connection and Builder classes support setting the query consistency via
setConsistency(), for example:DB::table('example')->setConsistency(Consistency::ALL)->where('id', 1)->get(); -
Builder classes support allow filtering via
allowFiltering(), for example:DB::table('example')->where('time', '>=', 1)->allowFiltering()->get(); -
By default warnings returned by Cassandra are logged - this can be turned off if needed:
DB::table('example')->ignoreWarnings()->max('id');
Auth
! TODO !
This project is forked from https://github.com/cubettech/lacassa
统计信息
- 总下载量: 40
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-01-17