henryavila/laravel-multi-database-commands

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

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

This package is auto-updated.

Last update: 2024-09-11 20:22:58 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 db 连接上添加_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)。有关更多信息,请参阅 许可证文件