我已经成功地使用 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 文件中,它被设置为使用默认的 database: $active_group = "default";
,而不是 store 数据库,所以它应该可以工作。看起来迁移库看到已经加载了一个数据库,感觉很懒惰并改用那个数据库。
注意: 看起来这些人有类似的问题,他们通过将“pconnect”设置为“false”来解决,但保持与两个数据库的连接会很好: