我正在使用 Codeigniter 3.0 的开发版本。
我可以看到 $db 配置有一个 Schema 属性。但它看起来不像将它用于任何自动取款机。因为我的脚本不会连接到多个模式。
有谁知道如何在 postgre 中使用多个模式设置 CI?
我正在使用 Codeigniter 3.0 的开发版本。
我可以看到 $db 配置有一个 Schema 属性。但它看起来不像将它用于任何自动取款机。因为我的脚本不会连接到多个模式。
有谁知道如何在 postgre 中使用多个模式设置 CI?
这是 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');
像这样的事情让我发疯,特别是迁移。
对我有用的是:
$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() 错误,并且关系“迁移”不存在。