如何在没有控制台访问的情况下处理主机上的yii2迁移?
我已成功创建并在我的共享主机上上传了高级模板。
下一步,我必须运行yii migrate
。
但我不能,因为我没有控制台访问。
你能向我建议什么?
请注意
yii migrate --interactive=0
时被permissione denied
我也试过这个:添加一个actionMigrateUp到frontend/controllers/siteController.php
public function actionMigrateUp()
{
// https://github.com/yiisoft/yii2/issues/1764#issuecomment-42436905
$oldApp = Yii::$app;
new yiiconsoleApplication([
'id' => 'Command runner',
'basePath' => '@app',
'components' => [
'db' => $oldApp->db,
],
]);
Yii::$app->runAction('migrate/up', ['migrationPath' => '@console/migrations/', 'interactive' => false]);
Yii::$app = $oldApp;
}
但是当我访问/frontend/web/index.php?r=site/migrateUp
我得到了404
在C: xampp htdocs www vendor yiisoft yii2 base Controller.php中显示消息'Unable to resolve the request:site / migrateUp'的异常'yii base InvalidRouteException':122
您创建的操作无法使用
/frontend/web/index.php?r=site/migrateUp
但是
/frontend/web/index.php?r=site/migrate-up
否则一切都应该没问题。
我找到了这个答案:如何从Yii应用程序运行Yiic,而不需要对控制台进行脱壳
您需要运行: yiic migrate --interactive=0
或php yii migrate --interactive=0
上一篇: How to handle yii2 migrations on hosts without console access?