a2way/laravel-tenant-migrate

A2Way Laravel Tenant Migrate

v1.11.0 2019-09-11 13:33 UTC

This package is auto-updated.

Last update: 2024-09-11 23:59:55 UTC


README

A2Way Laravel Tenant Migrate 是一个 Laravel 扩展包,可以用来在不同数据库之间迁移数据,而无需编辑数据库配置文件。

这对于存储每个租户数据在不同数据库中的 SaaS(软件即服务)网络应用来说非常有用。迁移这样的数据库可能会非常困难,因为你可能需要为每个租户数据库更改数据库配置。正如你所想象的,这不是一个可扩展的解决方案。

A2Way Laravel Tenant Migrate 可以帮助你克服这个问题。

财务支持

考虑在 https://www.patreon.com/budhajeewa 上对这个项目进行财务支持。

可用的命令

在 Laravel 项目中安装 A2Way Laravel Tenant Migrate 将向你的 artisan 工具添加以下命令。

  • migrate:tenant [连接名称] [数据库名称]
  • migrate:tenant:all [连接名称] [数据库名前缀]
  • migrate:tenant:install [连接名称] [数据库名称]
  • migrate:tenant:refresh [连接名称] [数据库名称]
  • migrate:tenant:reset [连接名称] [数据库名称]
  • migrate:tenant:rollback [连接名称] [数据库名称]

上述每个命令(除了 migrate:tenant:all)都将执行与其同名的近亲命令的任务,但替换为“tenant”。例如,migrate:tenant:refresh myConnection myDatabase 将在 myDatabase 上运行 migrate:refresh,并通过 myConnection 中提供的连接详情访问它。

migrate:tenant:all 通过指定前缀,可以帮助你一次性迁移多个租户数据库。例如,如果你有名为 tnt_atnt_btnt_c 的租户数据库,执行 migrate:tenant:all myConnection tnt_ 将迁移所有三个数据库。

安装

  1. 发出以下命令
composer require a2way/laravel-tenant-migrate ^1.0
  1. 然后将以下行添加到你的 Laravel 应用程序的 app/config/app.php 文件的 providers 子数组中。
A2way\LaravelTenantMigrate\LaravelTenantMigrateServiceProvider::class,
  1. 通过发出 php artisan 命令来检查安装。如果你能看到上述命令在你的命令列表中,则安装成功。

开发设置

  1. 拥有 DockerDocker Compose
  2. 克隆此仓库。
  3. tmp.env 文件复制到 .env 并填写值。
  4. laravel/tmp.env 文件复制到 .env 并填写值(应用密钥和数据库设置)。
  5. 运行 docker-compose up