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

我试图debugging,发现knex使用蓝鸟承诺。 我的问题是由于不完全退出承诺? 谢谢

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

 .finally(function() { knex.destroy(); })