2017-07-31 47 views
0

Hy guys, 如何將數據庫從開發切換到部署yii2-advanced! 我用下面的配置文件:在開發和部署之間切換數據庫

. 
. 
. 
    'db_developpment' => [ 
      'class' => 'yii\db\Connection', 
      'dsn' => 'mysql:host=localhost;dbname=yii2_widget', 
      'username' => 'root', 
      'password' => '', 
      'charset' => 'utf8', 
     ], 
     'db_deployment' => [ 
      'class' => 'yii\db\Connection', 
      'dsn' => 'mysql:host="http:/tklustig.ddns.net";dbname=yii2_widget', 
      'username' => 'my_name', 
      'password' => 'my_password', 
      'charset' => 'utf8', 
     ], 
. 
. 
. 

我想,這是必要的,以便編寫一個IF語句來developpment和部署設置之間的差異。 如何正確編寫這個IF語句?

回答

2

你真的需要兩個DB連接嗎?它使一切變得更加複雜。

優先的方法是保持幾個環境的配置。每個環境都使用它自己的數據庫連接設置。

查看Yii 2 Advanced Template Project關於此文檔。

基本上你準備兩個不同CONFIGS:

  • /environments/dev/common/config/main-local.php
  • /environments/prod/common/config/main-local.php

內部有配置爲每個環境db組件。在部署應用程序時,請運行控制檯命令init,在其中選擇要初始化的環境,以便將適當的main-local.php文件複製到文件夾,現在db組件使用基於環境的配置,因此您只需使用一個活動連接。

相關問題