rokde / laravel-clone-database-command
此包添加了在本地克隆数据库以用于开发的功能。因此,您可以覆盖个人数据以使用faker值来保持数据类型。
资助包维护!
rokde
paypal.me/rok
Buy Me A Coffee
Requires
- php: ^8.2
- illuminate/contracts: ^10.0
- illuminate/database: ^10.0
- illuminate/queue: ^10.0
- illuminate/support: ^10.0
- rokde/laravel-utilities: ^1.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- doctrine/dbal: ^3.8
- larastan/larastan: ^2.0.1
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.8
- orchestra/testbench: ^8.8
- pestphp/pest: ^2.20
- pestphp/pest-plugin-arch: ^2.5
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
README
此 artisan 命令可以将生产数据库克隆到开发数据库,并覆盖一些配置的个人数据。
安装
您可以通过 composer 安装此包。
composer require rokde/laravel-clone-database-command
用法
您可以使用预先配置的 artisan 控制台命令。
php artisan db:clone
这假设数据库配置中存在 source
和 target
条目。
否则,您可以创建自己的克隆命令以满足可配置的需求。
所有单个任务都可以在 src/Actions
文件夹中找到。因此,在必要时,您可以按所需方式连接它。
配置
整个配置存储在一个名为 DatabaseSyncConfiguration
的类中。
source & target 连接
连接名称和连接配置是可编辑的。因此,如果您已经配置了 target
或 source
连接,则可以在必要时更改该名称。
分块大小
可以为特定表或任何表配置分块大小。
限制
可以配置特定表或任何表的行数限制。
突变
可以为特定表或任何表配置突变。因此,当存在时,给定的列名可以用于任何表。因此,您可以将所有 email
列替换为类似于这样的假电子邮件
$config->addMutation('email', fn() => fake()->email);
行为
我们可以决定对目标上已经存在的表进行什么操作:保持原样,或者删除所有未处理的表。
另一个选项是在插入新记录之前删除记录,或者应该在插入新记录之前删除表并重新存储结构。
测试
composer test
变更日志
有关最近更改的更多信息,请参阅 CHANGELOG。
贡献
有关详细信息,请参阅 CONTRIBUTING。
安全漏洞
有关如何报告安全漏洞的详细信息,请参阅 我们的安全策略。
致谢
许可
MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件。