Laravel 同步远程数据库包

我经常想将生产数据库同步到本地数据库并手动导出和导入,所以我写了一个包来自动化它!

一个警告,如果您在组织的政策范围内有权将远程数据库同步到本地数据库,您应该只将其同步到本地数据库。我在开发的早期阶段进行同步,其中数据主要是测试数据,而不是实际的客户数据。

我写了一个名为Laravel DB Sync的包

安装包:

composer require dcblogdev/laravel-db-sync

发布配置文件

php artisan vendor:publish --provider="Dcblogdev\DbSync\DbSyncServiceProvider" --tag="config"

在 .env 文件中设置远程数据库凭据

使用 SSH 时添加:

REMOTE_USE_SSH=true
REMOTE_SSH_PORT=22
REMOTE_SSH_USERNAME=
REMOTE_DATABASE_HOST=

REMOTE_DATABASE_USERNAME=
REMOTE_DATABASE_NAME=
REMOTE_DATABASE_PASSWORD=
REMOTE_DATABASE_IGNORE_TABLES=''

REMOTE_REMOVE_FILE_AFTER_IMPORT=true
REMOTE_IMPORT_FILE=true

仅适用于 MySQL 远程连接:

REMOTE_DATABASE_HOST=
REMOTE_DATABASE_USERNAME=
REMOTE_DATABASE_NAME=
REMOTE_DATABASE_PASSWORD=
REMOTE_DATABASE_IGNORE_TABLES=''

REMOTE_REMOVE_FILE_AFTER_IMPORT=true
REMOTE_IMPORT_FILE=true

如果要排除某些表,可以将它们添加到 REMOTE_DATABASE_IGNORE_TABLES 例如忽略正在导出的用户和作业

REMOTE_DATABASE_IGNORE_TABLES='users,jobs'

现在,当您要将远程数据库导出到本地数据库时,请运行:

php artisan db:production-sync

https://github.com/dcblogdev/laravel-db-sync

发表回复

您的电子邮箱地址不会被公开。