2017-06-27 30 views
2

有人可以解釋我如何正確指定我的modules migration namespaces?正如我在文檔中看到的,它是:如何在yii2中正確指定遷移命名空間類?

return [ 
'controllerMap' => [ 
    'migrate' => [ 
     'class' => 'yii\console\controllers\MigrateController', 
     'migrationNamespaces' => [ 
      'app\migrations', // Common migrations for the whole application 
      'module\migrations', // Migrations for the specific project's module 
      'some\extension\migrations', // Migrations for the specific extension 
      ], 
     ], 
    ], 
]; 

但是沒有解釋應在哪個文件中寫入命令。我試過它在config.php,因爲:

'controllerMap' => [ 
    'migrate' => [ 
     'class' => 'yii\console\controllers\MigrateController', 
     'migrationNamespaces' => [ 
      'app\modules\adBoard\migrations', 
     ], 

但我不知道應該寫哪個控制器類。有人能告訴我在哪個文件中我必須指定它,以及如何正確指定它?

回答

1

如果你指的是這個文件

配置命令全局

不是進入相同的選項每次運行遷移命令時 值,你可以配置它 在一勞永逸應用配置如下圖所示:

return [ 
    'controllerMap' => [ 
     'migrate' => [ 
      'class' => 'yii\console\controllers\MigrateController', 
      'migrationTable' => 'backend_migration', 
     ], 
    ], ]; 

通過上述配置,每次運行遷移命令時,backend_migration表將用於記錄遷移歷史記錄 。您不再需要通過 migrationTable命令行選項來指定它。

命名空間遷移

由於2.0.10,你可以使用的 遷移類的命名空間。您可以通過migrationNamespaces指定名稱空間遷移列表 。使用 遷移類的名稱空間允許您使用 遷移的多個源位置。例如:

return [ 
    'controllerMap' => [ 
     'migrate' => [ 
      'class' => 'yii\console\controllers\MigrateController', 
      'migrationNamespaces' => [ 
       'app\migrations', // Common migrations for the whole application 
       'module\migrations', // Migrations for the specific project's module 
       'some\extension\migrations', // Migrations for the specific extension 
      ], 
     ], 
    ], ]; 

這個配置應該放在你安慰/配置/ main.php

但命名空間遷移remeber取決於你yii2-是起始2.0.10

1

模板應用程序(basicadvanced)「控制檯」特定設置的位置位於不同的目錄中。

對於基本模板,從<app>/config/console.php文件控制檯提取設置。

而對於先進的模板,您應該編輯<app>/console/config/main.php文件。

請記住,您的控制檯設置不會影響網絡設置,因此如果您想在整個項目中註冊某個組件,則必須在兩個文件中都複製該組件。

P.S.我想補充一個更詳細的關於先進模板,就在於它有前端後端子的應用程序,它位於<app>/common/config/main.php通用設置,但這些設置與控制檯命令常見。

+0

試圖將我提到的命令輸入到'console.php'文件(因爲'basic'模板),但沒有工作:(由於命名空間,我無法運行我的遷移,當我刪除它時,它是加工 – HELPME