yii2-db-manager Database Backup and Restore functionality

Yii2 DB manager

  1. Installation
  2. Configuration
  3. Simple config
  4. Advanced config
  5. Usage
  6. Changelog:

https://github.com/Beaten-Sect0r/yii2-db-manager

Database Backup and Restore functionality

screenshot.png

Installation

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.

Configuration

Once the extension is installed, simply add it in your config by:

Basic `config/web.php`

Advanced `backend/config/main.php`

Simple config

'modules' => [
        'db-manager' => [
            'class' => 'bs\dbManager\Module',
            // path to directory for the dumps
            'path' => '@app/backups',
            // list of registerd db-components
            'dbList' => ['db'],
            'as access' => [
                'class' => 'yii\filters\AccessControl',
                'rules' => [
                    [
                        'allow' => true,
                        'roles' => ['admin'],
                    ],
            ],
        ],
    ],

Advanced config

'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;
                }
            }
            'as access' => [
                'class' => 'yii\filters\AccessControl',
                'rules' => [
                    [
                        'allow' => true,
                        'roles' => ['admin'],
                    ],
            ],
        ],
    ],

Make sure you create a writable directory named backup on app root directory.

Usage

Pretty url's `/db-manager`

No pretty url's `index.php?r=db-manager`

Changelog:

  • Multiple database management
  • Ability for customize dump and restore options; dump and restore processors
  • Ability for run operations asynchronously
  • Ability for compressing dumps
2 0
5 followers
0 downloads
Yii Version: 2.0
License: BSD-2-Clause
Category: Others
Developed by: Beaten_Sect0r
Created on: May 28, 2016
Last updated: 7 years ago

Related Extensions