mk-devs/multi-tenant

动态创建、迁移和初始化不同的数据库,无需更改应用程序连接。

1.1 2019-10-29 20:43 UTC

This package is auto-updated.

Last update: 2024-09-29 05:48:42 UTC


README

Multi-Tenant 是一个 Laravel 扩展包,可以用于动态创建、迁移和初始化不同的数据库,无需更改应用程序连接。

这对于将每个租户的数据存储在不同数据库中的 Web 应用程序非常有用。

安装

您可以通过 composer 安装此扩展包

composer require mk-devs/multi-tenant

该扩展包将自动注册自己。

使用方法

在您的 Laravel 项目中安装此扩展包将添加 MultiTenant 类以及一些有用的 artisan 命令。

Artisan 命令

  1. php artisan tenant:create 数据库连接
  2. php artisan tenant:migrate 数据库连接 --path
  3. php artisan tenant:refresh 数据库连接
  4. php artisan tenant:rollback 数据库连接
  5. php artisan tenant:seed 数据库连接 --class

可用方法

  1. create 创建新数据库 参数: [数据库, 连接]
  2. migrate 运行特定数据库的迁移 参数: [数据库, 连接, 路径]
  3. refresh 重置并重新运行所有迁移 参数: [数据库, 连接]
  4. rollback 回滚最后一个数据库迁移 参数: [数据库, 连接]
  5. seed 运行特定数据库的种子 参数: [数据库, 连接, 类]
  6. set 在运行时更改应用程序数据库连接 参数: [数据库, 连接]

参数

用例

// Simple examples
MultiTenant::migrate('database_name');

MultiTenant::create('database_name')->migrate();

MultiTenant::seed([
    'database' => 'database_name',
    'connection' => 'mysql',
    'class' => 'CustomersTableSeed'
]);

MultiTenant::set([
    'database' => 'database_name',
    'connection' => 'mysql',
]);

// Advanced example
MultiTenant::migrate([
    'database' => 'database_name',
    'connection' => 'mysql',
    'path' => '/database/migrations/tenant'
])->seed(['class' => 'CustomersTableSeed'])->set();

许可

Multi-Tenant 是一个开源软件,许可协议为 MIT