2017-12-18 2 views
0

Ich möchte einen DB unter nicht öffentlichen Schema in PostgreSQL erstellen. In knexjs Dokument:AdonisJS Migration Fehler in PostgreSQL: withSchema ist keine Funktion

knex.schema.withSchema('public').createTable('users', function (table){ 
    table.increments(); 
}) 

Meine Migrationscode ist:

this.withSchema('myschema').create('users', table => { 
    table.increments() 
}) 

Aber Migration: run gibt diesen Fehler zurück:

TypeError: this.withSchema is not a function 

Wie kann ich DB unter benutzerdefinierten Schema?

+0

fügen Sie hier den vollständigen Code ein. –

+0

@FazalRasel: Mein Code ist sehr einfach, füge nur eine Tabelle mit ID unter myschema, schema hinzu. Außerdem habe ich vor der Migration ein Schema erstellt. –

+0

und Ihr einfacher Code funktioniert nicht. Um das tatsächliche Problem zu identifizieren, ist ein vollständiger Dateicode erforderlich. –

Antwort

0

Beispiel von Knex docs tatsächlich funktioniert:

https://runkit.com/embed/zbhlv44ry8xf

wie this in der Migration Code scheint nicht knex Instanz ist.

+0

Sie haben Recht, aber was kann ich tun? –

+0

Stellen Sie genügend Kontext für Ihren Code zur Verfügung, so dass Sie herausfinden können, warum Ihr 'This' nicht die Knex-Instanz ist, von der Sie glauben, dass sie es ist. Vielleicht versuchen Sie, eine Unterabfrage zu machen und die Pfeilfunktion als Callback zu benutzen, die 'this' nicht korrekt bindet. –