Normalmente, define-se o(s) esquema(s) padrão para o banco de dados ou a função, conforme explicado aqui:
É apenas se você quiser fazer isso sem persistir a alteração, você pode querer definir o(s) esquema(s) dinamicamente, apenas para o processo atual.
A biblioteca suporta a opção
schema
em Opções de inicialização
:const initOptions = {
schema: 'my_schema' /* can also be an array of strings or a callback */
};
const pgp = require('pg-promise')(initOptions);
tornando mais fácil definir o(s) esquema(s) dinâmico(s).
Exemplos
-
Tornando seu próprio esquema visível junto com o padrãopublic
esquema:
const initOptions = { schema: ['public', 'my_schema'] /* make both schemas visible */ }; const pgp = require('pg-promise')(initOptions);
-
Usando o retorno de chamada para definir o esquema com base no contexto do banco de dados (consulte Banco de dados construtor):
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);