yii2命令行或后台中使用migration备份和还原数据库 [ 2.0 版本 ]
使用migration备份和还原数据库,最初只想做一个在命令行中备份的功能,后来将类重组了,增加了其他扩展使用方法。
安装 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' => $this->migrationPath
]);
$migrate->create($table);
生成的文件截图:
e282486518
注册时间:2016-11-15
最后登录:2021-09-10
在线时长:28小时25分
最后登录:2021-09-10
在线时长:28小时25分
- 粉丝57
- 金钱645
- 威望40
- 积分1325
热门源码
- 基于 Yii 2 + Bootstrap 3 搭建一套后台管理系统 CMF
- 整合完 yii2-rbac+yii2-admin+adminlte 等库的基础开发后台源码
- 适合初学者学习的一款通用的管理后台
- yii-goaop - 将 goaop 集成到 Yii,在 Yii 中优雅的面向切面编程
- yii-log-target - 监控系统异常且多渠道发送异常信息通知
- 店滴云1.3.0
- 面向对象的一小步:添加 ActiveRecord 的 Scope 功能
- Yii2 开源商城 FecShop
- 基于 Yii2 开发的多店铺商城系统,免费开源 + 适合二开
- leadshop - 基于 Yii2 开发的一款免费开源且支持商业使用的商城管理系统
共 3 条评论
只是备份表结构的是么?
表数据也备份啊。。截图中的$this->insert就是数据。
这样insert你试试几万条数据看看要多久。最好还是生成batchInsert
嗯,是要改改,测试了导入几千条城市数据都用了快10秒
有手动备份的那种吗?
不想要命令行的。
可以“在后台中备份数据表”,或者是“其他使用方法”