Приложения для автоматического создания схемы таблиц и колонок в БД Postgres (ERD-diagram)

Есть много разных приложения для автоматического создания ERD-diagram,
однако они все отображают стрелки связей только до таблицы, а не до нужной колонки,
и не имеют возможности редактировать и обновлять отредактированную схему -
поэтому пришлось создать свой приложение.

Приложение умеет автоматически находить в ЬД и рисовать:
1. Все таблицы
2. Все колонки таблиц и типы
3. Стрелки взаимосвязи таблиц от колонки до колонки (foreign key)
4. Находит таблицы в старом имеющемся файле .graphml,
и располагает таблицы по таким же координатам X,Y

Полученный файл .graphml в бесплатном редакторе yED можно:
1. Экспортировать в рисунок .jpg
2. Редактировать
3. Автоматическая расстановка блоков

Образец выполнения (рисунки) можно найти в каталоге examples

Порядок установки:
1. Установить редактор файлов .graphml yEd (бесплатный)
https://www.yworks.com/products/yed/download

2. Скомпилировать этот репозиторий
make build
в папке bin появится файл image_database

3. сделать файл .env с заполненными параметрами:
FILENAME_GRAPHML=
INCLUDE_TABLES=
EXCLUDE_TABLES=

DB_HOST=
DB_NAME=
DB_SCHEME=
DB_PORT=
DB_USER=
DB_PASSWORD=

Запустить файл image_database

4. Открыть полученный файл .graphml в редакторе yEd
(все элементы сначала будут в центре экрана)
и выбратьв меню: 
Tools - Remove Node Overlaps
- редактор yEd расположит все элементы схемы в оптимальном виде.

5. Экспортировать схему в картинку.
Выбрать в меню:
File - Export


Исходный код на языке Golang.
Тестировал на Linux Ubuntu
Реадми от 14.09.2023

Сделал Александр Никитин
https://github.com/ManyakRus/image_database

