hjp1011/yii2-console-migration

yii2命令行中使用migration备份和还原数据库

1.0.1 2021-12-12 17:01 UTC

This package is not auto-updated.

Last update: 2024-05-14 02:44:00 UTC


README

Yii2 uses Migration to back up and restore the database, adding other extended usage methods.

Notice:

If you are using PHP7.2, then yII must use v2.0.15.1 or higher, because the yii2 core class Object conflicts with the PHP7.2 reserved class Object.

Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require

use yii\base\Object // PHP7.1 and previous versions
use yii\base\BaseObject // PHP7.2

Installation

The preferred way to install this extension is through [composer] (http://getcomposer.org/download/).

Run

composer require hjp1011/yii2-console-migration "*"

Or add

"hjp1011/yii2-console-migration": "*"

To the corresponding location of the 'composer. Json' file.

usage

Backup table in command line:

inconsole\config\main.php add :

'controllerMap' => [
    'migrate' => [
        'class' => 'yiiframe\migration\ConsoleController',
    ],
],

Use on the command line:

php ./yii migrate/backup all #Backup all tables
php ./yii migrate/backup table1,table2,table3... #Backup multiple tables
php ./yii migrate/backup table1 #Back up a table

php ./yii migrate/up #Restore all tables

Back up tables in the background:

Add the following code to a background controller, such as PublicController:

public function actions()
{
    return [
        'backup' => [
            'class' => 'yiiframe\migration\WebAction',
            'returnFormat' => 'json',
            'migrationPath' => '@console/migrations'
        ]
    ];
}

Send an Ajax request to/admin/public/backup?tables=yii2_ad,yii2_admin

Other usage:

For friends who want to do more extensions, you can inherit directly yiiframe\migration\components\MigrateCreate

Or use the following code:

$migrate = Yii::createObject([
        'class' => 'yiiframe\migration\components\MigrateCreate',
        'migrationPath' => $this->migrationPath
]);
$migrate->create($table);