我在创建客户端时专门搜索了pg-promise的文档。但是我找不到设置要在连接中使用的默认模式的选项,它总是使用public
模式。我该如何设置?
问问题
3823 次
1 回答
6
通常,为数据库或角色设置默认模式,如下所述:
只有当您想要这样做而不持久化更改时,您可能想要动态设置模式,仅用于当前进程。
该库支持Initialization Optionsschema
中的选项:
const initOptions = {
schema: 'my_schema' /* can also be an array of strings or a callback */
};
const pgp = require('pg-promise')(initOptions);
更容易设置动态模式。
例子
使您自己的架构与默认
public
架构一起可见:const initOptions = { schema: ['public', 'my_schema'] /* make both schemas visible */ }; const pgp = require('pg-promise')(initOptions);
使用回调根据数据库上下文设置模式(请参阅数据库构造函数):
const initOptions = { schema(dc) { if(dc === /* whatever Database Context was used */) { return 'my_schema'; /* or an array of strings */ } /* other provisions, if multiple databases are used. */ /* can return null/undefined, if no schema change is needed. */ } }; const pgp = require('pg-promise')(initOptions);
于 2018-04-17T15:54:32.633 回答