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