mirror of
https://github.com/ManyakRus/image_database.git
synced 2024-11-21 05:05:49 +02:00
63 lines
2.6 KiB
Plaintext
63 lines
2.6 KiB
Plaintext
Приложения для автоматического создания схемы таблиц и колонок в БД 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. заполнить параметры в файл "settings.txt" (или ".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
|
|
|