elysiumrealms/database-router

数据库路由器,隔离读写连接

1.0.1 2024-06-09 13:20 UTC

This package is auto-updated.

Last update: 2024-09-09 13:50:00 UTC


README

描述

数据库路由器是用于主从架构数据库的扩展。此扩展确保默认连接使用具有读写能力的数据库主机,并扩展可选的路由连接,根据业务逻辑部分应用读写隔离策略。

安装

  1. 安装 elysiumrealms/database-router

    composer require elysiumrealms/database-router
  2. 配置 config/database.phpconfig/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']);