knex.js db调用未完成

Sha*_*rty 8 javascript node.js knex.js

我正在学习node.js并遇到了knex.js和bookshelf.js来与不同的数据库进行交互.我试图运行一个简单的knex程序,但不知何故该程序不会退出.以下是该计划:

'use strict';
console.log('Getting knex');
var knex = require('./knex')({
  client: 'mysql',
  connection: {
    host: '127.0.0.1',
    user: 'shankhoneer',
    password: 'password',
    database: 'knex_test'
  }
});
debugger;
console.log('got knex');
knex.schema.createTable('users', function(table) {
  console.log('creating tables');
  table.increments('id');
  table.string('user_name');
}).then (function(msg){
  console.log('Completed creation');
  console.log(msg);
  return {inserted: true};
});
Run Code Online (Sandbox Code Playgroud)

我试图调试,发现knex使用蓝鸟承诺.我的问题是由于承诺退出不完整吗?谢谢

vic*_*ohl 20

这是因为与数据库的连接仍然是打开的.在最后一个之后添加以下代码.then( ... ),它将断开连接(从而退出进程):

.finally(function() {
  knex.destroy();
})
Run Code Online (Sandbox Code Playgroud)