Closed
Description
When I use db-migrate programable API, I meet the follow error:
{ Error: [object Object]
at /Users/zhaiyafei/saas/tx-model-server/node_modules/db-migrate/lib/commands/on-complete.js:12:9
at tryCatcher (/Users/zhaiyafei/saas/tx-model-server/node_modules/bluebird/js/release/util.js:16:23)
at Promise.successAdapter [as _fulfillmentHandler0] (/Users/zhaiyafei/saas/tx-model-server/node_modules/bluebird/js/release/nodeify.js:22:30)
at Promise._settlePromise (/Users/zhaiyafei/saas/tx-model-server/node_modules/bluebird/js/release/promise.js:566:21)
at Promise._settlePromise0 (/Users/zhaiyafei/saas/tx-model-server/node_modules/bluebird/js/release/promise.js:614:10)
at Promise._settlePromises (/Users/zhaiyafei/saas/tx-model-server/node_modules/bluebird/js/release/promise.js:693:18)
at Async._drainQueue (/Users/zhaiyafei/saas/tx-model-server/node_modules/bluebird/js/release/async.js:133:16)
at Async._drainQueues (/Users/zhaiyafei/saas/tx-model-server/node_modules/bluebird/js/release/async.js:143:10)
at Immediate.Async.drainQueues (/Users/zhaiyafei/saas/tx-model-server/node_modules/bluebird/js/release/async.js:17:14)
at runCallback (timers.js:789:20)
at tryOnImmediate (timers.js:751:5)
at processImmediate [as _immediateCallback] (timers.js:722:5)
My code is:
const dbmigrate = DBMigrate.getInstance(true, { config });
dbmigrate.up()
.then((info) => {
console.log('after up====>', info);
})
.catch(err => {
console.log('catch error===>', err);
});
I found that the error is from on-complete.js:
migrator.driver.close(function (err) {
if ((err || originalErr) && typeof callback === 'function') {
callback(
new Error({
err: err,
originalErr: originalErr
})
);
return;
} else {
assert.ifError(originalErr);
assert.ifError(err);
log.info('Done');
}
My question is: why callback an Error with an object? And when I catch the error, how can I parse the error to see the exact error?