jianyan74 / yii2-console-migration
在yii2命令行中用于数据库迁移备份和还原
1.0.1
2019-08-06 06:18 UTC
This package is auto-updated.
Last update: 2024-09-06 17:55:33 UTC
README
由于 e282486518/yii2-console-migration 维护不力,因此建立该项目
注意:如果你使用的是php7.2,那么yii必须使用v2.0.15.1以上版本,因为yii2核心类Object与php7.2的保留类Object冲突。
use yii\base\Object // PHP7.1以及之前版本 use yii\base\BaseObject // PHP7.2
使用yii2迁移备份和还原数据库
使用yii2迁移备份和还原数据库,最初仅想实现命令行备份功能,后来对类进行了重构,增加了其他扩展使用方法。
安装 Installation
通过 composer 安装此扩展是首选方式。
运行
composer require jianyan74/yii2-console-migration "@dev"
或者添加以下内容
"jianyan74/yii2-console-migration": "*"
到 composer.json
文件的对应位置.
在命令行中备份数据表:
在console\config\main.php
中添加
'controllerMap' => [ 'migrate' => [ 'class' => 'jianyan\migration\ConsoleController', ], ],
在命令行中使用方式:
php ./yii migrate/backup all #备份全部表
php ./yii migrate/backup table1,table2,table3... #备份多张表
php ./yii migrate/backup table1 #备份一张表
php ./yii migrate/up #恢复全部表
在后台中备份数据表:
在后台的控制器中,例如PublicController
中加入以下代码:
public function actions() { return [ 'backup' => [ 'class' => 'jianyan\migration\WebAction', 'returnFormat' => 'json', 'migrationPath' => '@console/migrations' ] ]; }
在后台中发送一个ajax请求到/admin/public/backup?tables=yii2_ad,yii2_admin
即可。
其他使用方法:
对于想要进行更多扩展的朋友,可以直接继承jianyan\migration\components\MigrateCreate
或者使用以下代码:
$migrate = Yii::createObject([ 'class' => 'jianyan\migration\components\MigrateCreate', 'migrationPath' => $this->migrationPath ]); $migrate->create($table);