无法在节点 js 中创建书架或表

Cant create bookshelf orm Table in Node js

本文关键字:创建 节点 js      更新时间:2023-09-26

所以,我似乎无法使用 Node 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();
}

我在服务器上调用它.js当有人请求"/services/adddb.php"时

未创建表,因为未调用 knex.schema.createTable 方法。您只在 db_exportup 函数中定义了 up 方法,但没有调用它。

要根据对'/services/adddb.php'路由的请求创建表,您需要调用 knex.schema.createTable 方法,并在成功执行返回的 promise 对象时返回响应:

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