toyi/sync-database

同步您的本地MySQL数据库与远程数据库。

v1.10.0 2024-07-23 12:55 UTC

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目录中)。