智能应用/laravel-多数据库命令

此包已 废弃 并不再维护。作者建议使用 henryavila/laravel-multi-database-commands 包。

此包提供了一种抽象,用于高效管理多个数据库应用程序命令,如:迁移

v2.1.0 2024-04-11 19:31 UTC

This package is auto-updated.

Last update: 2024-04-11 19:32:14 UTC


README

版本 2.0 升级

此包已从 apps-inteligentes/laravel-multi-database-commands 迁移到 henryavila/laravel-multi-database-commands 命名空间已从 AppsInteligentes\LaravelMultiDatabaseCommands 移动到 HenryAvila\LaravelMultiDatabaseCommands

要更新此包,请更新您的 composer.json 文件

{
    "require": {
        "henryavila/laravel-multi-database-commands": "^2.0.0"
    }
}

如果您覆盖了此包的一些内容,请确保在您的代码中运行全局搜索和替换,查找 AppsInteligentes\LaravelMultiDatabaseCommands 并将其替换为 HenryAvila\LaravelMultiDatabaseCommands

安装

您可以通过 composer 安装此包

composer require henryavila/laravel-multi-database-commands

您可以使用以下命令发布配置文件

php artisan vendor:publish --provider="HenryAvila\LaravelMultiDatabaseCommands\LaravelMultiDatabaseCommandsServiceProvider" --tag="laravel_multi_database_commands-config"

这是已发布配置文件的内容

return [

    /*
     * Add here the list of all database connection.
     * You can find the connection names in config file: database.connections
     */
    'databases' => [

    ]
];

用法

由此包创建的所有新迁移将被组织成这种方式:每个存在于 multi_database_commands.databases 中的数据库将有自己的迁移文件夹。

例如:所有针对 DB tenant 的迁移都将存储在 database/migration/tenant 中。此包执行的所有 migrate 命令都将隔离所有数据库。

创建迁移文件

要在 tenant 数据库连接上创建名为 add_active_column_on_users_table 的迁移,请运行以下命令

php artisan multi-db:make-migration add_active_column_on_users_table tenant

php artisan make:migration 命令类似,您可以使用选项 --create theTableToBeCreated--table theTableToBeMigrated

运行迁移

要执行所有数据库中的 migrate 命令,必须在配置文件 multi_database_commands 中定义所有数据库的列表

# Run migration in all dbs defined in multi_database_commands config file 
php artisan multi-db:migrate

# Run migration:status in all dbs defined in multi_database_commands config file 
php artisan multi-db:migrate -C status


# Run migration:rollback in teannt db  
php artisan multi-db:migrate tenant -C rollback

php artisan migrate 命令类似,您可以使用所有 Laravel 变化 freshinstallrefreshresetrollbackstatus

要执行数据库中的命令,只需提供数据库连接名称

#Execute the migrate:status just on log db
php artisan multi-db:migrate log -C status

测试

composer test

变更日志

请参阅 CHANGELOG 了解最近更改的详细信息。

安全漏洞

请查看 我们的安全策略 了解如何报告安全漏洞。

致谢

许可

MIT 许可证 (MIT)。请参阅 许可文件 了解更多信息。