toyi / sync-database
同步您的本地MySQL数据库与远程数据库。
v1.10.0
2024-07-23 12:55 UTC
Requires
- php: >=7.4
- gabrielelana/byte-units: ^0.5.0
- illuminate/console: >=9
- phpseclib/phpseclib: ^3.0
README
使用此包将您的本地开发MySQL数据库与远程数据库(例如,生产环境)同步。它将通过SSH连接到远程服务器,制作备份,下载并导入到您的本地MySQL数据库中。
先决条件
本地环境
- mysql二进制文件(
mysql --version
) - GZip(
gzip --version
)
远程环境
- mysqldump二进制文件(
mysqldump --version
) - GZip(
gzip --version
)
限制
- 此包只支持MySQL
- 它只支持您提供的远程服务器上托管的数据库(本地机器 > 远程机器 > 备份 > 本地机器)
安装
composer require toyi/sync-database
在Laravel 5.5之前
更新composer后,将SyncDatabaseProvider添加到config/app.php
中的提供者数组中:Toyi\SyncDatabase\SyncDatabaseProvider::class,
使用方法
您应该使用php artisan vendor:publish --provider="Toyi\SyncDatabase\SyncDatabaseProvider"
发布config/sync-database.php
配置文件。
ssh
部分将用于连接到您的远程服务器。database
部分将用于备份数据库。
一切配置完成后,使用php artisan toyi:sync-database
。
可用选项
--tables-no-data
以逗号分隔的表列表。仅导出它们的结构(无数据)--no-migrations
在最后不执行挂起的迁移。
远程数据库只会被备份,永远不会写入任何内容。
一旦备份过程结束,临时文件将被删除。
但是,如果发生故障,它们可能会保留(并占用不必要的磁盘空间)。如果是这种情况,您可以自己删除它们(它们位于本地和远程机器的/tmp目录中)。