PromucFlow_constructor/deploy/docker/utils/bin/index.js
Sumesh Pradhan a1be1bf941
feat: appsmithctl version and mongo-eval utils (#19075)
`appsmithctl version` - Util to display current Appsmith version
`appsmithctl mongo-eval '<mongo query>' [--pretty]` - Util to run mongo
queries

Co-authored-by: Shrikant Sharat Kandula <shrikant@appsmith.com>
2023-01-03 12:14:21 +05:30

67 lines
1.9 KiB
JavaScript
Executable File

#!/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 estimate_billing = require("./estimate_billing.js");
const version = require("./version.js");
const mongo_shell_utils = require("./mongo_shell_utils.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];
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;
}
if (["estimate-billing", "estimate_billing"].includes(command)) {
estimate_billing.run(process.argv.slice(3));
return;
}
if (["appsmith-version", "appsmith_version", "version"].includes(command)) {
version.exec();
return;
}
if (["mongo-eval", "mongo_eval", "mongoEval"].includes(command)) {
mongo_shell_utils.exec(process.argv.slice(3));
return;
}
utils.showHelp();