PromucFlow_constructor/deploy/docker/utils/bin/index.js

52 lines
1.4 KiB
JavaScript
Raw Normal View History

#!/usr/bin/env node
const process = require('process');
const utils = require('./utils');
const export_db = require('./export_db.js');
const import_db = require('./import_db.js');
const migrate = require('./migrate.js');
const check_replica_set = require('./check_replica_set.js');
const APPLICATION_CONFIG_PATH = '/appsmith-stacks/configuration/docker.env';
// Loading latest application configuration
require('dotenv').config({ path: APPLICATION_CONFIG_PATH });
const command = process.argv[2];
console.log('command', command);
if (['export-db', 'export_db', 'ex'].includes(command)) {
console.log('Exporting database');
export_db.run();
console.log('Export database done');
return;
}
if (['import-db', 'import_db', 'im'].includes(command)) {
console.log('Importing database');
// Get Force option flag to run import DB immediately
const forceOption = process.argv[3] === '-f';
import_db.runImportDatabase(forceOption);
console.log('Importing database done');
return;
}
if (['migrate', 'mi'].includes(command) && process.argv[3]) {
const arrString = process.argv[3].split('@');
console.log('Start migrate instance');
migrate.runMigrate(arrString[0], arrString[1]);
return;
}
if (['check-replica-set', 'check_replica_set', 'crs'].includes(command)) {
check_replica_set.exec();
return;
}
if (['backup', 'restore'].includes(command)) {
require(`./${command}.js`).run(process.argv.slice(3));
return;
}
utils.showHelp();