UNPKG

pg-mermaid

Version:

Mermaid diagram generator for PostgreSQL database schema

32 lines 1.47 kB
#!/usr/bin/env node "use strict"; 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