在开发和部署之间切换数据库
Switching databases between development and deployment
嗨伙计们,
如何在 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 语句?
你真的需要同时连接两个数据库吗?它让一切变得更复杂。
首选方法是保留多个环境配置。每个环境都使用它自己的数据库连接设置。
请参阅有关此内容的 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
组件使用基于环境的配置所以你只需使用一个活动连接。
嗨伙计们, 如何在 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 语句?
你真的需要同时连接两个数据库吗?它让一切变得更复杂。
首选方法是保留多个环境配置。每个环境都使用它自己的数据库连接设置。
请参阅有关此内容的 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
组件使用基于环境的配置所以你只需使用一个活动连接。