hjp1011 / yii2-console-migration
在yii2命令行中使用migration备份和还原数据库
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冲突。
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);