dcblogdev / laravel-db-sync
此包的最新版本(v1.1.7)没有提供许可证信息。
同步数据库下传。
v1.1.7
2024-08-10 18:02 UTC
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.9
- orchestra/testbench: ^5.0|^6.23|^7.0|^8.0|^9.0
- pestphp/pest: ^1.21|^2.0
- pestphp/pest-plugin-laravel: ^1.1
README
存在一个Discord社区。 https://discord.gg/VYau8hgwrm 对于快速帮助,请在适当的频道中提问。
Laravel DB Sync
简介
将远程数据库同步到本地数据库
警告:您只能在您的组织政策允许的情况下将远程数据库同步到本地数据库。我在开发早期阶段进行同步,此时数据主要是测试数据,而不是实际客户数据。
可以通过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