UNPKG

@dbml/cli

Version:

See our website [@dbml/cli](https://dbml.dbdiagram.io/cli/) for more information

38 lines (36 loc) 1.63 kB
"use strict"; 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); } }