在开发和部署之间切换数据库

时间:2017-07-31 12:39:35

标签: yii2-advanced-app

嗨伙计们, 如何在 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语句进行编码。 如何正确编码这个IF语句?

1 个答案:

答案 0 :(得分:2)

您真的需要同时使用两个数据库连接吗?它使一切变得更加复杂。

优先方法是保留多个环境配置。每个环境都使用它自己的数据库连接设置。

请参阅Yii 2 Advanced Template Project相关文档。

基本上你准备两种不同的配置:

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

内部为每个环境配置了db组件。在部署应用程序时,您运行控制台命令init,在其中选择要初始化的环境,以便将正确的main-local.php文件复制到文件夹,现在db组件使用基于环境的配置,因此您只需使用一个有效连接。