PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

So legen Sie das Schema in pg-promise fest

Normalerweise legt man das/die Standardschema(s) für die Datenbank oder die Rolle fest, wie hier erklärt:

Nur wenn Sie dies tun möchten, ohne die Änderung beizubehalten, möchten Sie möglicherweise das Schema (die Schemas) dynamisch festlegen, nur für den aktuellen Prozess.

Die Bibliothek unterstützt die Option schema innerhalb von Initialisierungsoptionen :

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

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

was es einfacher macht, das/die dynamische(n) Schema(s) festzulegen.

Beispiele

  • Sichtbarmachen Ihres eigenen Schemas zusammen mit dem standardmäßigen public Schema:

    const initOptions = {
        schema: ['public', 'my_schema'] /* make both schemas visible */
    };
    
    const pgp = require('pg-promise')(initOptions);
    
  • Verwenden des Rückrufs zum Festlegen des Schemas basierend auf dem Datenbankkontext (siehe Datenbank Konstruktor):

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