I am learning node.js and came across knex.js and bookshelf.js to interface with different databases. I am trying to run a simple knex program but somehow the program doesnt quit. Below is the program:
'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};
});
I tried to debug and found that knex uses bluebird promises. Is my problem due to incomplete exit from a promise? Thanks
This is because the connection to the database is still open.
Add the following code after your last .then( ... ) and it will disconnect (thus exiting the process):
.finally(function() {
  knex.destroy();
})
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With