dcblogdev/laravel-db-sync

此包的最新版本(v1.1.7)没有提供许可证信息。

同步数据库下传。

资助包维护!
dcblogdev

v1.1.7 2024-08-10 18:02 UTC

This package is auto-updated.

Last update: 2024-09-10 18:16:24 UTC


README

存在一个Discord社区。 https://discord.gg/VYau8hgwrm 对于快速帮助,请在适当的频道中提问。

Laravel DB Sync

DB Dync

简介

将远程数据库同步到本地数据库

警告:您只能在您的组织政策允许的情况下将远程数据库同步到本地数据库。我在开发早期阶段进行同步,此时数据主要是测试数据,而不是实际客户数据。

可以通过SSH或使用远程MySQL连接建立连接。

安装

安装此包。

composer require dcblogdev/laravel-db-sync

配置

您可以使用以下命令发布配置文件

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

.env

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

当使用SSH时添加

REMOTE_USE_SSH=true
REMOTE_SSH_PORT=22
REMOTE_SSH_USERNAME=
REMOTE_DATABASE_HOST=

REMOTE_DATABASE_USERNAME=
REMOTE_DATABASE_PORT=3306
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_PORT=3306
REMOTE_DATABASE_NAME=
REMOTE_DATABASE_PASSWORD=
REMOTE_DATABASE_IGNORE_TABLES=''

REMOTE_REMOVE_FILE_AFTER_IMPORT=true
REMOTE_IMPORT_FILE=true

REMOTE_DATABASE_IGNORE_TABLES中设置一个逗号分隔的表列表,这些表不应导出

为了生成具有自定义文件名的SQL,请使用REMOTE_DEFAULT_FILE_NAME

指定不同的本地数据库连接

LOCAL_TARGET_CONNECTION=different_mysql_connection

设置mysql命令路径

LOCAL_MYSQL_PATH=/usr/bin/mysql

仅针对mysqldump

REMOTE_MYSQLDUMP_SKIP_TZ_UTC=true

用法

要导出远程数据库以覆盖本地数据库,请运行

php artisan db:production-sync

通过传递选项 --filename,动态提供导出文件名,请记住提供.sql

php artisan db:production-sync --filename=other.sql

运行命令而不尝试导出

php artisan db:production-sync --test

别名

可以使用以下快捷键

-T = 使用 --test F = 使用 --filename

备用名称

当连接到非生产数据库(如预发布数据库)时,您可以选择使用此备用名称

db:remote-sync 可用于替代 db:production-sync