从代码而不是CLI运行Yii迁移

从代码而不是CLI运行Yii迁移,yii,migration,command-line-interface,Yii,Migration,Command Line Interface,有没有一种方法可以从代码而不是CLI在Yii上运行迁移 我想为用户创建一个web界面,并且我想从代码运行迁移。我不希望用户在控制台中运行任何命令。您可以创建shell exec命令并输出到HTML文件, 像这样的 class someController extends CController { ... public function actionMigrate(){ echo shell_exec("/path/to/YiiApp/protected/yiic migrate

有没有一种方法可以从代码而不是CLI在Yii上运行迁移


我想为用户创建一个web界面,并且我想从代码运行迁移。我不希望用户在控制台中运行任何命令。

您可以创建shell exec命令并输出到HTML文件, 像这样的
  class someController extends CController {
  ...
  public function actionMigrate(){
  echo shell_exec("/path/to/YiiApp/protected/yiic migrate up");
}
但是,不建议在前端运行迁移,迁移可能会破坏应用程序,导致现有流或当前登录的用户体验到意外行为,并可能导致数据损坏,具体取决于所应用的迁移类型。所以要小心使用