sql >> Base de Datos >  >> RDS >> PostgreSQL

Cómo configurar el esquema en pg-promise

Normalmente, uno establece los esquemas predeterminados para la base de datos o el rol, como se explica aquí:

Solo si desea hacerlo sin persistir el cambio, es posible que desee establecer los esquemas dinámicamente, solo para el proceso actual.

La biblioteca admite la opción schema dentro de Opciones de inicialización :

const initOptions = {
    schema: 'my_schema' /* can also be an array of strings or a callback */
};

const pgp = require('pg-promise')(initOptions);

facilitando la configuración de los esquemas dinámicos.

Ejemplos

  • Hacer visible su propio esquema junto con el public predeterminado esquema:

    const initOptions = {
        schema: ['public', 'my_schema'] /* make both schemas visible */
    };
    
    const pgp = require('pg-promise')(initOptions);
    
  • Usar la devolución de llamada para establecer el esquema basado en el contexto de la base de datos (ver Base de datos constructor):

    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);