【发布时间】:2013-07-16 22:33:34
【问题描述】:
我已经成功地使用 codeigniter 配置了第二个数据库并且能够创建一个表。现在的问题是,以前使用$this->db 的每一行代码现在都使用第二个数据库,所以它自然会弹出一个错误。让我更详细地解释一下:
我使用 codeigniter 的迁移库,在新的迁移中,我使用 dbforge 创建数据库,就像$this->dbforge->create_database('website_store') 一样。到目前为止一切顺利,然后我使用$DB2 = $this->load->database('store', TRUE); 连接到这个数据库并创建一个表。这里一切都很好。
然后迁移结束,codeigniter 尝试更新迁移表以推送最新版本,但查看store 数据库而不是默认数据库,因此它弹出此错误:
Table 'website_store.migrations' doesn't exist
UPDATE `migrations` SET `version` = 45
希望有人知道如何使用多个数据库和迁移库。顺便说一句,在 database.php 文件中,它被设置为使用默认数据库:$active_group = "default";,而不是 store 数据库,所以它应该可以工作。看起来迁移库看到已经加载了一个数据库,感觉很懒,然后改用那个。
注意: 看起来这些人有类似的问题,他们通过将“pconnect”设置为“false”来解决,但保持与两个数据库的连接会很好:
【问题讨论】:
-
好的,我选择了“pconnect”到“false”的解决方案。不是我想做的,但它有效。