jmms
Version:
Jmms cli tools, Jmms is a java meta-micro-service framework
68 lines (62 loc) • 2.11 kB
JavaScript
const _ = require('lodash');
const utils = require('../../utils');
const log = require('../../log');
const chalk = require('chalk');
const BaseGenerator = require('../base');
module.exports = class extends BaseGenerator {
constructor(args, opts) {
super(args, opts);
}
run() {
const db = this.app.db;
if(!db || _.isEmpty(db)) {
log.error('Db config not found at ' + this.app.configPath + ', can\'t drop the database!');
process.exit(1);
}
this._runJavaCli((cli) => {
this._doClean(cli, db);
});
}
_doClean(cli, db){
cli.exec('db.validate', db, (err, url) => {
if(err) {
return;
}
return this.prompt([
{
type: 'confirm',
name: 'yes',
message: "WARNING!!! The command will drops the database '" + chalk.yellow(url) + "', are you sure to continue?",
default: false
}
])
.then((ans) => {
console.log('\n');
if(ans.yes === true) {
return this.prompt([
{
type: 'confirm',
name: 'yes',
message: "Dropping database '" + chalk.yellow(url) + "', continue?",
default: false
}
])
.then((ans) => {
if(ans.yes) {
cli.exec('db.drop', db, (err, url) => {
if(err) {
return;
}
log.info("Drop database done!");
});
}else {
process.exit(0);
}
})
}else {
process.exit(0);
}
});
});
};
};