mirko-pagliai/cakephp-database-backup

CakePHP 数据库备份插件

2.13.1 2024-05-10 13:59 UTC

README

Software License CI codecov Codacy Badge CodeFactor

DatabaseBackup 是一个用于导出、导入和管理数据库备份的 CakePHP 插件。目前,该插件支持 MySqlPostgresSqlite 数据库。

喜欢这个插件吗?它的开发花了我很多时间。请考虑进行捐赠:一杯咖啡就足够了!谢谢。

Make a donation

安装

您可以通过 composer 安装插件

$ composer require --prefer-dist mirko-pagliai/cakephp-database-backup

然后您需要加载插件。有关如何加载插件的更多信息,请参阅食谱

简单地,您可以执行 shell 命令来启用插件

bin/cake plugin load DatabaseBackup

这将更新您的应用程序的引导方法。

默认情况下,插件使用 APP/backups 目录来保存备份文件。因此,您必须创建目录并使其可写

$ mkdir backups/ && chmod 775 backups/

如果您想使用不同的目录,请参阅配置部分。

旧版 CakePHP 和 PHP 版本的安装

最近发布的包和 master 分支至少需要 CakePHP 5.0 和 PHP 8.1,并且代码的当前开发基于这些版本以及后续版本的 CakePHP 和 PHP。
但是,仍然有一些分支与之前的 PHP 版本兼容。

对于 PHP 7.4 和 CakePHP 4.0 及以后的版本

相反,cakephp4 分支至少需要 PHP >=7.4.0 和 CakePHP ^4.0

在这种情况下,您也可以安装此包

$ composer require --prefer-dist mirko-pagliai/cakephp-database-backup:dev-cakephp4

请注意,cakephp4 分支将从 2024 年 1 月 5 日起不再更新,除非是安全补丁,并且它与2.12.3 版本相匹配。

对于 CakePHP 3.0 和 PHP 5.6 及以后的版本

相反,cakephp3 分支至少需要 PHP >=5.6 <7.4 和 CakePHP ^3.5.1

在这种情况下,您也可以安装此包

$ composer require --prefer-dist mirko-pagliai/cakephp-database-backup:dev-cakephp3

请注意,cakephp3 分支将从 2021 年 4 月 29 日起不再更新,除非是安全补丁,并且它与2.8.5 版本相匹配。

要求

DatabaseBackup 需要

  • mysqlmysqldump 用于 MySql 数据库;
  • pg_dumppg_restore 用于 Postgres 数据库;
  • sqlite3 用于 Sqlite 数据库。

可选,如果您想处理压缩备份,还需要 bzip2gzip

这些二进制文件的安装可能因操作系统而异。

请记住,数据库用户必须具有正确的权限(例如,对于 mysql 用户必须具有 LOCK TABLES 权限)。

配置

该插件使用一些配置参数。请参阅我们的维基百科

如果您想通过电子邮件发送备份文件,请记住正确设置您的应用程序,以便它可以发送电子邮件。有关如何配置应用程序的更多信息,请参阅Cookbook

如何使用

查看我们的维基

并参考我们的API

测试

默认情况下,测试将同时运行一个驱动程序,通常是mysql。要选择其他要使用的驱动程序,您可以在运行phpunit之前设置driver_test环境变量。

例如

driver_test=sqlite vendor/bin/phpunit
driver_test=postgres vendor/bin/phpunit

或者,您也可以设置db_dsn环境变量,指示连接参数。在这种情况下,驱动程序类型仍将自动检测。

例如

db_dsn=sqlite:///' . TMP . 'example.sq3 vendor/bin/phpunit

版本控制

为了透明度和对发布周期的洞察,以及保持向后兼容性,DatabaseBackup将按照语义版本控制指南进行维护。