s4studio / yii2-db-manager
为 Yii2 的数据库备份管理模块
2.5.0
2024-03-27 12:18 UTC
Requires
- creocoder/yii2-flysystem: *
- symfony/process: 2.8.*|3.*|4.*
- yiisoft/yii2: *
- yiisoft/yii2-bootstrap4: *
- yiisoft/yii2-bootstrap5: *
README
点击一个 ⭐!
MySQL/PostgreSQL 数据库备份和恢复功能
安装
安装此扩展的首选方法是通过 composer。
运行以下命令之一
composer require --prefer-dist s4studio/yii2-db-manager "*"
或者
"s4studio/yii2-db-manager": "*"
将以下内容添加到您的 composer.json
文件的 require 部分。
配置
扩展安装后,只需将其添加到您的配置中
基本 config/web.php
高级 backend/config/main.php
简单配置
'modules' => [ 'db-manager' => [ 'class' => 's4studio\dbManager\Module', // path to directory for the dumps 'path' => '@app/backups', // list of registerd db-components 'dbList' => ['db'], // Flysystem adapter (optional) creocoder\flysystem\LocalFilesystem will be used as default. 'flySystemDriver' => 'creocoder\flysystem\LocalFilesystem', 'as access' => [ 'class' => 'yii\filters\AccessControl', 'rules' => [ [ 'allow' => true, 'roles' => ['admin'], ], ], ], ], ],
高级配置
'components' => [ // https://github.com/creocoder/yii2-flysystem 'backupStorage' => [ 'class' => 'creocoder\flysystem\FtpFilesystem', 'host' => 'ftp.example.com', //'port' => 21, //'username' => 'your-username', //'password' => 'your-password', //'ssl' => true, //'timeout' => 60, //'root' => '/path/to/root', //'permPrivate' => 0700, //'permPublic' => 0744, //'passive' => false, //'transferMode' => FTP_TEXT, ], ], 'modules' => [ 'db-manager' => [ 'class' => 's4studio\dbManager\Module', // Flysystem adapter (optional) creocoder\flysystem\LocalFilesystem will be used as default. 'flySystemDriver' => 'creocoder\flysystem\LocalFilesystem', // path to directory for the dumps 'path' => '@app/backups', // list of registerd db-components 'dbList' => ['db', 'db1', 'db2'], // process timeout 'timeout' => 3600, // additional mysqldump/pg_dump presets (available for choosing in dump and restore forms) 'customDumpOptions' => [ 'mysqlForce' => '--force', 'somepreset' => '--triggers --single-transaction', 'pgCompress' => '-Z2 -Fc', ], 'customRestoreOptions' => [ 'mysqlForce' => '--force', 'pgForce' => '-f -d', ], // options for full customizing default command generation 'mysqlManagerClass' => 'CustomClass', 'postgresManagerClass' => 'CustomClass', // option for add additional DumpManagers 'createManagerCallback' => function($dbInfo) { if ($dbInfo['dbName'] == 'exclusive') { return new MyExclusiveManager; } else { return false; } } 'as access' => [ 'class' => 'yii\filters\AccessControl', 'rules' => [ [ 'allow' => true, 'roles' => ['admin'], ], ], ], ], ],
控制台配置
'modules' => [ 'db-manager' => [ 'class' => 's4studio\dbManager\Module', // Flysystem adapter (optional) creocoder\flysystem\LocalFilesystem will be used as default. 'flySystemDriver' => 'creocoder\flysystem\LocalFilesystem', // path to directory for the dumps 'path' => '@app/backups', // list of registerd db-components 'dbList' => ['db'], ], ],
确保您在应用程序根目录中创建了一个名为 backup 的可写目录。
使用方法
美观的 URL /db-manager
不美观的 URL index.php?r=db-manager
控制台使用
-db
- 数据库组件,默认值: db
-gz
- gzip 存档
-s
- 文件存储
-f
- 文件名,默认为最新的备份
创建备份
php yii dump/create -db=db -gz -s
恢复备份
php yii dump/restore -db=db -s -f=dump.sql
删除所有备份
php yii dump/delete-all
测试数据库连接
php yii dump/test-connection -db=db
变更日志
- 支持 Flysystem
- 支持控制台
- 多数据库管理
- 自定义备份和恢复选项的能力;备份和恢复处理器
- 异步运行操作的能力
- 压缩备份的能力