2016-03-23 9 views
0

So, ich nicht in der Lage scheinen, Tabellen mit dem Bookshelf Orm in Knoten js zu erstellen und ich kann nicht ganz herausfinden, wo ist mein Fehler. Hier ist der Code die Tabelle zu erstellen:Cant erstellen Bücherregal Orm Tabelle in Knoten js

function db_exportup(response){ 
    exports.up = function(knex, Promise) { 
      return knex.schema.createTable('users', function(table) { 
      table.increments('id').primary(); 
      table.string('name'); 
     }); 
    }; 
    exports.down = function(knex, Promise) { 
    return knex.schema.dropTable('users'); 
    }; 
    response.writeHead(200, {"Content-type" : "text/plain"}); 
    response.write("Table created!"); 
    response.end(); 
} 

Im nannte es auf der server.js wenn jemand Anfrage „/services/adddb.php“

Antwort

0

Die Tabelle wurde nicht erstellt, weil die knex.schema.createTable Methode nicht war namens. Sie haben nur die up Methode in der db_exportup Funktion definiert, aber Sie haben sie nicht aufgerufen.

der Tabelle auf Anfrage an die '/services/adddb.php' Route zu erstellen, müssen Sie die knex.schema.createTable Methode aufrufen und eine Antwort auf die erfolgreiche Ausführung des Versprechens Objekt zurückgeben zurückgegeben:

function db_exportup(request, response) { 
    // Call the 'createTable' method 
    knex.schema.createTable('users', function(table) { 
    table.increments('id').primary(); 
    table.string('name'); 
    }) 
    .then(function() { 
    // Table creation succeeded 
    response.writeHead(200, {"Content-type" : "text/plain"}); 
    response.write("Table created!"); 
    response.end(); 
    }) 
    .catch(function() { 
    // Table creation did not succeed. 
    response.write("Table was not created"); 
    }); 
} 
+0

Ihnen sehr @gnerkus danken !! Ich hatte es noch nie gesehen. Ich erhalte jetzt einen "Internal Server Error", hahah, hast du irgendwelche Ideen, warum das passieren könnte? –