Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

pgerd-to-drawio-diagram-converter

bertyhell104MIT1.0.2TypeScript support: included

Converts a Entity Relation Diagram that was exported from PgAdmin 5+ into an XML file that can be loaded into draw.io (diagrams.net) diagram editor

pgadmin, drawio, diagram, converter, convert, browser, nodejs, json, tables, erd, entity relation diagram, sql, foreign keys

readme

pgerd-to-drawio-diagram-converter

https://github.com/bertyhell/pgerd-to-drawio-diagram-converter/blob/main/images/hero.jpg

Try it out on: https://bertyhell.github.io/pgerd-to-drawio-diagram-converter

https://github.com/bertyhell/pgerd-to-drawio-diagram-converter/blob/main/images/manual.jpg

Programmatic interface

Installation:

npm install pgerd-to-drawio-diagram-converter

Use inside node:

import {convertPgerdToDrawIo} from 'pgerd-to-drawio-diagram-converter';
import * as fs from "fs";

// Read the pgerd file as a string
const pgerdJsonString = fs.readFileSync('./diagram.pgerd').toString('utf-8');

// Interpret the string as json
const pgerdJson = JSON.parse(pgerdJsonString);

// Convert the json diagram info to a draw io xml format
const drawIoXmlString = convertPgerdToDrawIo(pgerdJson);

// Write the xml string to an xml file
fs.writeFileSync('./diagram.drawio.xml', drawIoXmlString);

Use inside a browser:

import { saveAs } from 'file-saver';

const pgerdDiagramJson: PgErdDiagramInfo = JSON.parse(pgerdJsonString);
const drawIoXml = convertPgerdToDrawIo(pgerdDiagramJson);

const blob = new Blob([drawIoXml], { type: 'text/xml;charset=utf-8' });
saveAs(blob, 'diagram.drawio.xml');

React example:

App.tsx