yadakhov/laradump

laravel 的 mysqldump 包装器。将表架构和数据导出到文件。

v2.3.4 2023-08-09 17:49 UTC

README

一个包装包,用于从 Laravel 控制台命令运行 mysqldump。

安装

packagist 安装

composer require yadakhov/laradump

config/app.php 的 providers 数组中添加

    'providers' => [
        // ...others

        Yadakhov\Laradump\LaradumpServiceProvider::class,
    ],

创建配置文件 config/laradump.php

php artisan vendor:publish

Laradump 命令

一旦注册了 LaradumpServiceProvider,当您执行 php artisan 时,命令将显示出来。

php artisan
 ...
 laradump
  laradump:drop-tables        Drop tables that do not have backup files.
  laradump:list               List all tables to perform individually.
  laradump:mysqldump          Perform a MySQL dump on every tables.
  laradump:restore            Perform a restore on every tables.
  laradump:save-to-s3         Save laradump folder to s3
  laradump:sync-from-s3       Sync laradump folder from s3
 ...

执行 mysqldump

php artisan laradump:mysqldump

将执行数据库中每个表的 mysqldump,并将其存储在 storage/dumps 文件夹中。

执行 mysql 恢复

php artisan laradump:restore

将加载 /storage/dumps. 中的所有 sql 文件。

对单个表执行备份和恢复

php artisan laradump:mysqldump  --table=user
php artisan laradump:restore  --table=user

# To see a list of possible tables
php artisan laradump:list 

确保存储文件夹可写。

# Create the tables for storing the files
mkdir storage/laradump/tables
mkdir storage/laradump/data

sudo chmod o+w -R storage

在 git 中忽略导出文件

# add line to your .gitignore
/storage/laradump