coderatio/simple-backup

一个简单的PHP mysql数据库备份库。

v1.0.4 2020-05-10 19:46 UTC

This package is auto-updated.

Last update: 2024-09-27 06:35:36 UTC


README


一个简单的PHP mysql数据库备份库。此库可以帮助您将mysql数据库备份到项目目录或下载到您的机器。

该库还允许您在不紧张的情况下导入或恢复数据库。按照以下说明开始。

安装

打开您的终端或命令提示符,并输入以下命令

composer require coderatio/simple-backup

新版本 1.0.1

  1. 您现在可以在`SimpleBackup类`上链式调用`::start()`。
  2. 本版本包括流畅的数据库设置链式操作。
  3. 添加了`->includeOnly(array $tables)`,允许您仅导出`$tables`变量中提到的表的数据。
  4. 添加了`->excludeOnly(array $tables)`,在导出时排除`$tables`变量中提到的表。

(v1.0.1) 仅导出特定表

  SimpleBackup::start()
    ->setDbName('db_name')
    ->setDbUser('db_username')
    ->setDbPassword('db_password')
    ->includeOnly(['carts', 'houses', 'categories'])
    ->then()->storeAfterExportTo('backups')
    ->then()->getResponse();

(v1.0.1) 仅排除特定表

  SimpleBackup::start()
    ->setDbName('db_name')
    ->setDbUser('db_username')
    ->setDbPassword('db_password')
    ->excludeOnly(['users', 'posts'])
    ->then()->storeAfterExportTo('backups')
    ->then()->getResponse();

导出

导出可以通过两种方式完成。

  1. 存储在目录中
  2. 下载到您的机器

1-- 存储在目录中

要将导出存储在目录中,请这样做

require 'vendor/autoload.php';

use Coderatio\SimpleBackup\SimpleBackup;

// Set the database to backup
$simpleBackup = SimpleBackup::setDatabase(['db_name', 'db_user', 'db_password', 'db_host'])
  ->storeAfterExportTo('pathtostore', 'file_name (optional)');

要获取存储的文件名,您可以像这样输出来

echo $simpleBackup->getExportedName();

您也可以这样做来获取响应

/**
* @return object
**/
var_dump($simpleBackup->getResponse());

2-- 下载

要将导出下载到您的机器,请这样做

require 'vendor/autoload.php';

use Coderatio\SimpleBackup\SimpleBackup;

// Set the database to backup
$simpleBackup = SimpleBackup::setDatabase(['db_name', 'db_user', 'db_password', 'db_host'])
  ->downloadAfterExport($file_name (optional));

如果未提供$filename,将为下载生成随机名称。

向表中添加WHERE子句

要像在SQL中那样添加WHERE子句,请在导出之前这样做

注意: $tables变量必须是关联数组,例如

$tables = [
  'users' => 'is_active = true'
];
$simpleBackup->setTableConditions(array $tables);

在表中设置行限制

要在导出之前限制备份表中包含的行数,请这样做

注意: 与添加WHERE子句一样,这里的$tables变量必须是关联数组。例如

$tables = [
  'users' => 50,
  'posts' => 50
]
$simpleBackup->setTableLimitsOn(array $tables);

导入

此包使导入或恢复您的mysql数据库变得简单。要导入数据库,请这样做

require 'vendor/autoload.php';

use Coderatio\SimpleBackup\SimpleBackup;

// Set the database to backup
$simpleBackup = SimpleBackup::setDatabase(['db_name', 'db_user', 'db_password', 'db_host (optional)']])
    ->importFrom('pathtosql_file or sql_contents');

/**
* You can then dump the response like this. 
*
* @return object
**/
var_dump($simpleBackup->getResponse());

注意: 您可以提供sql语句作为参数。您还可以通过将数据库配置作为第二个参数传递给importFrom()来覆盖数据库配置。例如 importFrom(pathtosql_file, array $db_config);

待办事项

  1. 添加一个调度方法,与cron一起使用
  2. 将备份存储在Dropbox、Google Drive中。
  3. 将备份发送到电子邮件

贡献

要为此项目做出贡献,请发送pull request或在我的Twitter上找到我。

许可

本项目采用MIT许可证。