mysql - 在 Yii 中连接 2 个数据库以同时处理测试数据和真实数据

标签 mysql yii yii-components yii-events

我的网站正在准备上线。由于更新是在我的站点上开发的,所以我想在不影响真实数据的情况下在真实服务器中测试更新。我需要 2 个数据库(具有 2 个名称的相同数据库)同时连接我的站点。一个用于测试我自己,另一个用于真实用户。

我尝试将 config/main 复制到 config/main_test 并将主 index.php 复制到 index_test.php。并在 config/main.php 和 config/main_test.php 中实现了 2 个数据库连接。并将这些文件连接到 index.php 和 index_test.php 并尝试使用 http://mysite.com/index.php 运行站点和 http://mysite.com/index_test.php .但是这两个 url 都基于 config/main.php 中提供的数据库连接工作。

我怎样才能使用这两个数据库?我不认为保留整个站点的 2 个副本是个好主意。欢迎所有建议

最佳答案

您可以通过将配置文件 main.php 复制到 main-test.php 并将 index.php 复制到 来实现它index-test.php。在 main-test.php 文件中设置新的数据库连接属性。在 index-test.php 中更改配置路径,您还可以启用调试。这是您的 index-test.php 的示例:

$yii = '/opt/yii/framework/yii.php';
$config = dirname(__FILE__) . '/protected/config/main-test.php';

defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL', 3);

require_once($yii);
Yii::createWebApplication($config)->run();

并且不要忘记使用其中包含 index-test.php 的 URL。

关于mysql - 在 Yii 中连接 2 个数据库以同时处理测试数据和真实数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19738075/

相关文章:

Yii2:如何覆盖 yii\db\Query 类以添加查询的默认条件

php - while 循环不打印第一个表单迭代,而是打印其他第一个内容?

mysql 恢复另一台服务器上的文件

php - CDbCriteria 和 mysql 使用 INDEX()

php - 用线程yii模型扩展组件后yii 1.x无法正常工作

module - Yii中Modules和extension的区别

mysql - 外部连接中的 IF/CASE

mysql - 选择最新日期(子查询)

php - Yii2 - 如何列出文件夹内的文件

php - Yii 外键验证规则