hjp1011/yii2-console-migration

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

安装: 525

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 1

开放问题: 0

类型:yii2-extension

1.0.1 2021-12-12 17:01 UTC

This package is not auto-updated.

Last update: 2024-10-01 04:28:25 UTC


README

Yii2使用迁移来备份和还原数据库,并添加了其他扩展使用方法。

注意:

如果你使用PHP7.2,那么yII必须使用v2.0.15.1或更高版本,因为yii2核心类Object与PHP7.2保留类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

安装

安装此扩展的首选方式是通过[composer] (https://getcomposer.org.cn/download/)。

运行

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

或者添加

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

到相应的'composer.json'文件位置。

用法

在命令行中备份表

console\config\main.php中添加

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

在命令行中使用

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

后台备份表

将以下代码添加到后台控制器中,例如PublicController

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

/admin/public/backup?tables=yii2_ad,yii2_admin发送Ajax请求。

其他用法

对于想要进行更多扩展的朋友,可以直接继承yiiframe\migration\components\MigrateCreate

或者使用以下代码

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