rocketslab/laravel-multitenancy-extensions

Spatie Laravel 多租户扩展包

0.3 2021-06-11 09:59 UTC

This package is auto-updated.

Last update: 2024-09-11 17:02:58 UTC


README

葡萄牙语(巴西)版本

本包是为与 Spatie 的 Laravel 多租户 一起使用而创建的。

安装

composer require rocketslab/laravel-multitenancy-extensions

配置

发布默认配置

php artisan vendor:publish --provider="RocketsLab\MultitenancyExtensions\MultitenancyExtensionsServiceProvider" --tag="config"

激活默认数据库到当前租户

默认情况下,多租户包在每个请求上都有一个数据库切换的任务。但是,通过在后台(当创建新租户时)执行此操作,默认 数据库没有被分配。因此,当尝试迁移表并使用初始数据填充数据库时,Laravel 找不到新的数据库。

为了解决这个问题,将 ActiveDefaultDatabase 任务添加到 multitenancy 配置文件中的任务数组列表的第一项。

    //...
    'switch_tenant_tasks' => [
        \RocketsLab\MultitenancyExtensions\Tasks\ActivateDeafultDatabase::class,
        \Spatie\Multitenancy\Tasks\SwitchTenantDatabaseTask::class,
        // ... other tasks
    ],
    //...

创建租户数据库

配置了 spatie/laravel-tenancy 租户模型后,您可以激活自动创建数据库。为此,将 ShouldCreateDatabase 特性包含到租户模型中。

房东数据库迁移助手

本包提供了一条命令来帮助迁移到房东数据库。

php artisan landlord:migrate

默认情况下,此命令会运行 database/migrations/landlord 文件夹中的所有迁移。如果您可以修改此设置,请编辑 multitenancy-extensions 配置文件中的 landlord 配置部分。

可选地,您可以使用 --fresh 标志来删除所有表并迁移。

@jjsquady - Jorge Gonçalves 创建

感谢 Spatie 团队。

MIT 许可证