2016-03-23 3 views
0

Итак, я не могу создать таблицы, используя орфографию книжной полки в узле js, и я не могу понять, где моя ошибка. Вот код для создания таблицы:Невозможно создать таблицу книжной полки в узле 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 вызывая его на server.js, когда кто-то запрос «/services/adddb.php»

ответ

0

таблица не была создана, потому что метод knex.schema.createTable не был называется. Вы только определили метод up в функции db_exportup, но вы его не назвали.

Чтобы создать таблицу по запросу на '/services/adddb.php' маршрут, вам нужно вызвать метод knex.schema.createTable и возвращает ответ на успешное выполнение объекта обещание возвращаемые:

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

Большое спасибо @gnerkus !! Я не видел его раньше. Теперь я получаю сообщение «Внутренняя ошибка сервера», ха-ха, есть ли у вас идеи, почему это может произойти? –