acacha/periods

Laravel 5 包,用于支持使用多个数据库添加历史数据支持

0.1.0 2016-11-11 13:21 UTC

This package is auto-updated.

Last update: 2024-09-13 03:41:08 UTC


README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

Laravel 5 包,用于支持历史数据的多数据库连接(一个周期 -> 一个数据库连接)

安装

通过 Composer

$ composer require acacha/periods

PeriodsServiceProvider 服务提供者添加到 config/app.php 文件中

...
 /*
         * Package Service Providers...
         */
        Acacha\Periods\Providers\PeriodsServiceProvider::class,
...

使用以下命令发布文件:

php artisan vendor:publish --tag=acacha_periods

使用方法

App\Http\Kernel.php 类的 web 中间件组末尾注册 Laravel 中间件

...
 protected $middlewareGroups = [
        'web' => [
            ...
            \Acacha\Periods\Middleware\Periods::class
        ],
...

自定义配置。首先适配您的需求,修改 config/periods.php 文件

<?php

return [

    /*
    |--------------------------------------------------------------------------
    | Session variable name for periods
    |--------------------------------------------------------------------------
    |
    | This value is the name of the session vairable that storages desired period.
    */

    'session_variable' => 'ACACHA_PERIOD',

    /*
    |--------------------------------------------------------------------------
    | Valid period values and related database connections
    |--------------------------------------------------------------------------
    |
    | This value is an array that stores valid period values and his related
    | database connections.
    */

    'periods' => [
        '2016-17' => env('DB_CONNECTION', 'mysql'),
        '2015-16' => env('DB_CONNECTION', 'mysql') . '_1516',
        '2014-15' => env('DB_CONNECTION', 'mysql') . '_1415',
    ],

];

确保在 config/database.php 配置文件中有多个数据库连接(默认 sqlite、sqlite_1516、sqlite_1415...)

...
    'connections' => [

        'sqlite' => [
            'driver' => 'sqlite',
            'database' => env('DB_DATABASE', database_path('database.sqlite')),
            'prefix' => '',
        ],

        'sqlite_1516' => [
            'driver' => 'sqlite',
            'database' => env('DB_DATABASE', database_path('database1516.sqlite')),
            'prefix' => '',
        ],

        'sqlite_1415' => [
            'driver' => 'sqlite',
            'database' => env('DB_DATABASE', database_path('database1415.sqlite')),
            'prefix' => '',
        ],
...

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

测试

$ composer test

贡献

有关详细信息,请参阅 CONTRIBUTINGCONDUCT

安全性

如果您发现任何与安全性相关的问题,请通过电子邮件 sergiturbadenas@gmail.com 联系,而不是使用问题跟踪器。

鸣谢

许可协议

MIT 许可协议(MIT)。有关更多信息,请参阅 许可文件