elysiumrealms / database-router
数据库路由器,隔离读写连接
1.0.1
2024-06-09 13:20 UTC
Requires
- php: *
- laravel/framework: *
Requires (Dev)
- phpunit/phpunit: ^7
This package is auto-updated.
Last update: 2024-09-09 13:50:00 UTC
README
描述
数据库路由器是用于主从架构数据库的扩展。此扩展确保默认连接使用具有读写能力的数据库主机,并扩展可选的路由连接,根据业务逻辑部分应用读写隔离策略。
安装
-
安装
elysiumrealms/database-router
。composer require elysiumrealms/database-router
-
配置
config/database.php
和config/app.php
。php artisan db:router:install
从 DB_READ_HOST
读取
要使用读取主机执行读取操作,可以使用以下方法
$model = Model::router()->first();
$model = Admin::where('id', 1)->router()->first();
$model = Admin::router()->where('id', 1)->first();
DB::table('users')->router()->find(1);
使用 DB_WRITE_HOST
更新
要使用写入主机执行更新操作,可以使用以下方法
$model = Model::router() ->update(['name' => 'new-name']);
$model = Admin::where('id', 1)->router() ->update(['name' => 'new-name']);
$model = Admin::router()->where('id', 1) ->update(['name' => 'new-name']);
DB::table('users')->router() ->update(['name' => 'new-name']);