Normalement, on définit le(s) schéma(s) par défaut pour la base de données ou le rôle, comme expliqué ici :
Ce n'est que si vous voulez le faire sans persister la modification, que vous voudrez peut-être définir le ou les schémas de manière dynamique, uniquement pour le processus en cours.
La bibliothèque prend en charge l'option schema
dans Options d'initialisation
:
const initOptions = {
schema: 'my_schema' /* can also be an array of strings or a callback */
};
const pgp = require('pg-promise')(initOptions);
facilitant la définition du ou des schémas dynamiques.
Exemples
-
Rendre votre propre schéma visible avec le
public
par défaut schéma :const initOptions = { schema: ['public', 'my_schema'] /* make both schemas visible */ }; const pgp = require('pg-promise')(initOptions);
-
Utilisation du rappel pour définir le schéma en fonction du contexte de la base de données (voir Base de données constructeur):
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);