mukellef / database-sync
此包最新版本(dev-main)没有可用的许可证信息。
同步数据库下载数据。
dev-main
2024-06-26 10:01 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
This package is auto-updated.
Last update: 2024-09-26 10:46:20 UTC
README
存在一个 Discord 社区。 https://discord.gg/VYau8hgwrm 若需快速帮助,请在适当的频道中提问。
Laravel DB 同步
简介
将远程数据库同步到本地数据库
请注意,只有当您在组织政策中拥有同步远程数据库到本地数据库的权限时,才应同步远程数据库到本地数据库。我在开发初期同步数据,此时数据主要是测试数据,并非实际客户数据。
可以通过 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