2015-01-16 6 views
6

Ho creato e caricato con successo template avanzato sul mio host condiviso.Come gestire le migrazioni di yii2 sugli host senza accesso alla console?

Come passaggio successivo, è necessario eseguire yii migrate.

Ma non posso perché non ho l'accesso alla console.

Cosa potresti suggerirmi?

prega di notare che

  • Non posso cambiare il padrone di casa, perché non è una decisione mia
  • non può accedere al server tramite SSH
  • Ho già provato qualcosa di simile PHPShell, ma io ottenuto permissione denied quando si cerca di eseguire yii migrate --interactive=0

ho provato anche questo: aggiunto un actionMigrateUp a frontend/controllers/siteController.php

public function actionMigrateUp() 
{ 
    // https://github.com/yiisoft/yii2/issues/1764#issuecomment-42436905 
    $oldApp = \Yii::$app; 
    new \yii\console\Application([ 
     'id'   => 'Command runner', 
     'basePath'  => '@app', 
     'components' => [ 
      'db' => $oldApp->db, 
     ], 
    ]); 
    \Yii::$app->runAction('migrate/up', ['migrationPath' => '@console/migrations/', 'interactive' => false]); 
    \Yii::$app = $oldApp; 
} 

Ma quando visito /frontend/web/index.php?r=site/migrateUp ho ottenuto un 404

eccezione 'Yii \ base \ InvalidRouteException' con il messaggio 'Impossibile risolvere la richiesta: sito/migrateUp' in C: \ xampp \ htdocs \ www \ vendor \ yiisoft \ yii2 \ base \ controller.php: 122

+0

Hai provato la connessione al server utilizzando SSH e poi il comando esecuzione nella directory del progetto? – Tahir

+0

Non ho accesso SSH. Intendevo dire "nessun accesso alla console" – realtebo

+1

https://github.com/yiisoft/yii2/issues/1764#issuecomment-42436905 –

risposta

3

L'azione che si è creato non è accessibile con

/frontend/web/index.php?r=site/migrateUp 

ma con

/frontend/web/index.php?r=site/migrate-up 

caso contrario, tutto dovrebbe andare bene.

+0

Ok, ho approvato e votato la tua risposta. Ovviamente, riaprirò la domanda perché la domanda era come gestire le migrazioni; scusa. – realtebo

+0

Ancora non funzionano? Ho fatto questo in yii1 e funziona ok –

+0

No, non funziona ancora, ho davvero bisogno di un tutorial per yii 2 su questo argomento. Farò un sacco di lavoro lunedì prossimo, dopo pubblicherò di nuovo la mia domanda – realtebo