2

我正在使用 Codeigniter 3.0 的开发版本。

我可以看到 $db 配置有一个 Schema 属性。但它看起来不像将它用于任何自动取款机。因为我的脚本不会连接到多个模式。

有谁知道如何在 postgre 中使用多个模式设置 CI?

4

2 回答 2

4

这是 CI 开发人员的解决方案。 https://github.com/EllisLab/CodeIgniter/commit/485a348a7a633d38f69a963e9f77e23077f75d11

我建议您从 CI 系统/核心的此链接中仅下载文件夹“数据库”,并将该行添加到您的 application/config/database.php...

$db['default']['schema'] = 'NAME_OF_YOUR_SCHEMA';

或者,如果您使用的是数组列表,则如下所示:

$db['default'] = array('schema'=>'NAME_OF_YOUR_SCHEMA');
于 2013-02-06T17:23:49.880 回答
0

像这样的事情让我发疯,特别是迁移。

对我有用的是:

$this->db->query('SET search_path TO <schema>');

例如,在 up() 方法的开始和结束处:

public function up()
{
    $this->db->query('SET search_path TO <custom_schema>');
    ...
    # Database stuff here
    ...
    $this->db->query('SET search_path TO public'); //where migrations table exists
}

尝试这样做以避免 schema.table(语法)的 pg_query() 错误,并且关系“迁移”不存在。

于 2022-01-13T09:22:36.220 回答