indeev / laravel-remote-db-sync
快速同步远程数据库到本地
v2.0
2023-02-27 09:11 UTC
Requires
- php: ^8.0.2
- illuminate/support: ^v9.0
Requires (Dev)
- doctrine/dbal: ^3.3
- orchestra/testbench: ^7.22
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-27 13:04:22 UTC
README
厌倦了导出和导入远程数据库到本地?这个包只需运行一个命令,所有操作都在后台处理。
安装
您可以通过composer安装此包
composer require indeev/laravel-remote-db-sync --dev
需要在config/database.php中定义外部连接
'connections' => [ 'sqlite' => [ 'driver' => 'sqlite', // ... ], 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), // ... ], 'azure' => [ // Our external database connection 'driver' => 'mysql', 'host' => env('DB_HOST_AZURE', 'dbservicename.mysql.database.azure.com'), 'port' => env('DB_PORT_AZURE', '3306'), 'database' => env('DB_DATABASE_AZURE', ''), 'username' => env('DB_USERNAME_AZURE', ''), 'password' => env('DB_PASSWORD_AZURE', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'prefix_indexes' => true, 'strict' => true, 'engine' => null, 'server_version' => '5.7', 'modes' => [ 'ONLY_FULL_GROUP_BY', 'STRICT_TRANS_TABLES', 'NO_ZERO_IN_DATE', 'NO_ZERO_DATE', 'ERROR_FOR_DIVISION_BY_ZERO', 'NO_ENGINE_SUBSTITUTION', ], ], // ...
使用方法
同步所有表
php db:sync_remote azure
同步所有内容(不标记为跳过的表)
php db:sync_remote azure --skipped=cache,log
仅同步定义的表(如果设置了--only,则忽略--skipped)
php db:sync_remote azure --only=customer,customer_settings
在上述所有情况下,都可以添加参数--only_schema=table,names来定义不进行数据同步的表。例如,要同步所有内容,不包含缓存、日志表,以及不包含文档、文档元数据表中的数据
php db:sync_remote azure --skipped=cache,log --only_schema=documents,document_metas
测试
composer test
更新日志
请参阅更新日志以获取更多信息。
贡献
请参阅贡献指南以获取详细信息。
安全
如果您发现任何安全问题,请通过katerinak@indeev.eu发送电子邮件,而不是使用问题跟踪器。
致谢
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。
Laravel 包模板
此包使用Laravel 包模板生成。