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

狂风中的少年 提交于 2019-12-01 18:03:16

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类文件截图:

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!