@dbml/cli
Version:
See our website [@dbml/cli](https://dbml.dbdiagram.io/cli/) for more information
38 lines (36 loc) • 1.63 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = connectionHandler;
var _core = require("@dbml/core");
var _connector = require("@dbml/connector");
var _figures = _interopRequireDefault(require("figures"));
var _chalk = _interopRequireDefault(require("chalk"));
var _path = _interopRequireDefault(require("path"));
var _utils = require("./utils");
var _outputConsolePlugin = _interopRequireDefault(require("./outputPlugins/outputConsolePlugin"));
var _outputFilePlugin = _interopRequireDefault(require("./outputPlugins/outputFilePlugin"));
var _logger = _interopRequireDefault(require("../helpers/logger"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
async function connectionHandler(program) {
try {
const {
connection,
databaseType
} = (0, _utils.getConnectionOpt)(program.args);
const opts = program.opts();
const schemaJson = await _connector.connector.fetchSchemaJson(connection, databaseType);
if (!opts.outFile && !opts.outDir) {
const res = _core.importer.generateDbml(schemaJson);
_outputConsolePlugin.default.write(res);
} else if (opts.outFile) {
const res = _core.importer.generateDbml(schemaJson);
new _outputFilePlugin.default((0, _utils.resolvePaths)(opts.outFile)).write(res);
// bearer:disable javascript_lang_logger
console.log(` ${_chalk.default.green(_figures.default.main.tick)} Generated DBML file from database's connection: ${_path.default.basename(opts.outFile)}`);
}
} catch (error) {
_logger.default.error(error);
}
}
;