rolice / laravel-db-switch
为Laravel提供的简单轻量级数据库切换器。
Requires
- php: >=5.6
- illuminate/database: ^5.2
- illuminate/support: ^5.2
Requires (Dev)
- phpunit/phpunit: >=4.0
This package is not auto-updated.
Last update: 2024-09-14 20:14:50 UTC
README
Composer包,用于Laravel,可实现轻松替换数据库实例。该包非常适合运行相同程序不同副本的类似数据库。
此包在Laravel 5.3、Laravel 5.4和Lumen 5.4下开发和测试。然而,它应该与Laravel的较旧版本兼容,至少与版本5.0兼容。
先决条件
Composer
您需要Composer来设置项目。您很可能会跳过这一点,因为它是Laravel或Lumen项目必需的,但如果您对它不熟悉,您会发现官方Composer网站非常有用。您将找到详细的文档、用例和场景,以及有关下载和安装Composer的完整指令集,包括所有必要的下载文件。
Laravel/Lumen项目
我们假设您已经准备好并安装了您的Laravel或Lumen项目,并且您已经使用控制台/终端应用程序导航到其文件夹。
安装
该包通过Composer的传统方式安装。您可以在Laravel项目的文件夹中执行以下命令来完成此操作
composer require 'rolice/laravel-db-switch' # with globally installed composer
或者如果您没有与项目一起安装全局Composer,只有一个composer.phar
文件
php /path/to/composer.phar require 'rolice/laravel-db-switch' # with local composer.phar file
上面的操作应该会直接将包添加到您的项目中。
或者,您可以在composer.json
文件的require
部分手动添加rolice/laravel-db-switch
,然后您可以使用以下命令安装它
composer install
或者再次如果没有全局Composer安装
php /path/to/composer.phar install
注意:在上面的示例中,您必须将/path/to/composer.phar替换为您下载的官方composer.phar副本的实际路径。更多信息可以在上一节中的先决条件部分找到。
在您准备好包安装后,我们必须在应用程序配置中启用服务提供者。
对于Laravel:只需打开应用程序的{your/project/folder}/config/app.php
文件(默认情况下应该位于那里)。
在providers
部分(数组)中添加服务提供者
Rolice\LaravelDbSwitch\DbSwitchServiceProvider::class,
最好放在类似下面的注释下面
/* * Package Service Providers... */ Rolice\LaravelDbSwitch\DbSwitchServiceProvider::class,
对于Lumen:您应该在bootstrap/app.php
中注册服务提供者
/* |-------------------------------------------------------------------------- | Register Service Providers |-------------------------------------------------------------------------- | | Here we will register all of the application's servipoce providers which | are used to bind services into the container. Service providers are | totally optional, so you are not required to uncomment this line. | */ // ... $app->register(Rolice\LaravelDbSwitch\DbSwitchServiceProvider::class); // ...
对于Laravel:现在您可以在同一文件config/app.php
中名为aliases
的部分(数组)中注册外观,如下所示
'DbSwitch' => Rolice\LaravelDbSwitch\Facades\DbSwitch::class,
对于Lumen:您可以使用以下方式启用外观并将它传递
$app->withFacades(true, [ Rolice\LaravelDbSwitch\Facades\DbSwitch::class => 'DBSwitch' ]);
...或者您也可以直接以相同的方式启用它,但使用原始代码,例如
/* |-------------------------------------------------------------------------- | Register Facades |-------------------------------------------------------------------------- | | A config section for registering facades through class aliases. | */ class_alias(\Rolice\LaravelDbSwitch\Facades\DbSwitch::class, 'DbSwitch');
现在该包应该与您的项目可用并运行。
用法
您可以通过外观DbSwitch
或通过Laravel的IoC服务容器中的单例实例来使用包服务
// Usage through the facade - DbSwitch DbSwitch::to('my-cool-db'); // The defaut connection DbSwitch::connectionTo('my-cool-conenction', 'my-cool-db'); // A specific connection database // Usage through the Laravel Service Container (IoC) app('db.switch')->to('my-cool-db'); // The defaut connection app('db.switch')->connectionTo('my-cool-conenction', 'my-cool-db'); // A specific connection database
这就是本包的全部功能。
享受切换您的数据库吧! :P