2017-07-31 60 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组件使用基于环境的配置,因此您只需使用一个活动连接。