pg-mermaid
Version:
Mermaid diagram generator for PostgreSQL database schema
32 lines • 1.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.main = void 0;
const tslib_1 = require("tslib");
const command_1 = require("./command");
const database_1 = require("./database");
const markdown_1 = require("./markdown");
const mermaid_1 = require("./mermaid");
const fs = require("node:fs/promises");
const path = require("node:path");
const main = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
const { dbname, excludedTables = [], host, outputPath, password, port, schema, username, } = (0, command_1.getOptions)();
const connection = yield (0, database_1.createConnection)({
dbname,
host,
password,
port,
username,
});
const entities = yield connection.any((0, database_1.getEntities)({ excludedTables, schema }));
const relationships = yield connection.any((0, database_1.getRelationships)({ excludedTables, schema }));
const indexes = yield connection.any((0, database_1.getIndexes)({ excludedTables, schema }));
const diagram = (0, mermaid_1.generateDiagram)({ entities, relationships });
const markdown = (0, markdown_1.generateMarkdown)({ diagram, indexes });
yield fs.writeFile(outputPath, markdown);
console.log(`Diagram was generated successfully at '${path.join(process.cwd(), outputPath)}'`);
yield connection.end();
});
exports.main = main;
(0, exports.main)();
//# sourceMappingURL=index.js.map