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

yii2使用migration备份和还原数据库

yii2使用migration备份和还原数据库,最初只想做一个在命令行中备份的功能,后来将类重组了,增加了其他扩展使用方法。

https://github.com/e282486518/yii2-console-migration.git

安装 Installation

安装此扩展的首选方式是通过 composer.

运行

composer require --prefer-dist e282486518/yii2-console-migration "*"

或者添加

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

到 composer.json 文件的对应地方.

命令行中备份数据表:

console\config\main.php中添加 :

'controllerMap' => [
    'migrates' => [
        'class' => 'e282486518\migration\ConsoleController',
    ],
],

在命令行中使用方式:

php ./yii migrates/backup all #备份全部表
php ./yii migrates/backup table1,table2,table3... #备份多张表
php ./yii migrates/backup table1 #备份一张表

php ./yii migrates/up #恢复全部表

在后台中备份数据表:

在后台的控制器中,例如PublicController中加入下面的代码:

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

在后台中发送一个ajax请求到/admin/public/backup?tables=yii2_ad,yii2_admin即可。

其他使用方法:

对于想做更多扩展的朋友,可以直接继承e282486518\migration\components\MigrateCreate

或者使用一下代码:

$migrate = Yii::createObject([
        'class' => 'e282486518\migration\components\MigrateCreate',
        'migrationPath' => '@console/migrations'
]);
$migrate->create($table);

生成的migration类文件截图:

转载于:https://my.oschina.net/u/2552765/blog/809000

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值