indeev/laravel-remote-db-sync

快速同步远程数据库到本地

v2.0 2023-02-27 09:11 UTC

This package is auto-updated.

Last update: 2024-09-27 13:04:22 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License

Laravel Remote DB Sync

厌倦了导出和导入远程数据库到本地?这个包只需运行一个命令,所有操作都在后台处理。

安装

您可以通过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 包模板生成。