MySQL/PostgreSQL Database Backup and Restore functionality
The preferred way to install this extension is through composer.
Either run
composer require --prefer-dist beaten-sect0r/yii2-db-manager "*"
or add
"beaten-sect0r/yii2-db-manager": "*"
to the require section of your composer.json
file.
Once the extension is installed, simply add it in your config by:
Basic config/web.php
Advanced backend/config/main.php
'modules' => [
'db-manager' => [
'class' => 'bs\dbManager\Module',
// path to directory for the dumps
'path' => '@app/backups',
// list of registerd db-components
'dbList' => ['db'],
],
],
'modules' => [
'db-manager' => [
'class' => 'bs\dbManager\Module',
// path to directory for the dumps
'path' => '@app/backups',
// list of registerd db-components
'dbList' => ['db', 'db1', 'db2'],
// 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;
}
}
],
],
Make sure you create a writable directory named backup on app root directory.
Pretty url's /db-manager
No pretty url's index.php?r=db-manager
- Multiple database management
- Ability for customize dump and restore options; dump and restore processors
- Ability for run operations asynchronously
- Ability for compressing dumps