henryavila / laravel-multi-database-commands
此包提供了一种高效管理多个数据库应用命令的抽象,例如:迁移
Requires
- php: ^8.0
- illuminate/contracts: ^8.0|^9.0|^10.0|^11.0
- spatie/laravel-package-tools: ^1.4.3
Requires (Dev)
- brianium/paratest: ^6.2
- nunomaduro/collision: ^5.3|^6.1|^8.1
- orchestra/testbench: ^6.15|^7.0|^8.0|^9.0
- phpunit/phpunit: ^9.5|^10.5
- spatie/laravel-ray: ^1.36.0
- vimeo/psalm: ^4.4
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 变体 fresh、install、refresh、reset、rollback 和 status
要在一个数据库上执行命令,只需提供数据库连接名称
#Execute the migrate:status just on log db
php artisan multi-db:migrate log -C status
测试
composer test
变更日志
请参阅 CHANGELOG 了解最近更改的更多信息。
安全漏洞
请查阅 我们的安全策略 了解如何报告安全漏洞。
鸣谢
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件。