Документацию часто собирают в Confluence, AsciiDoc или Markdown, где диаграммы хранят как код PlantUML. Модель из DBML можно перевести в такую диаграмму одним действием.
Как преобразовать
- Откройте модель в редакторе DBML.
- Выберите Файл → Преобразовать в → PlantUML — ER-диаграмма.
- Сохраните результат в папку проекта или откройте в песочнице PlantUML.

Что получается
- Каждая таблица —
entity: сначала первичный ключ, под чертой — остальные колонки с типами. - Обязательные колонки отмечены
*, ключи — стереотипами<<PK>>,<<FK>>, уникальные —<<unique>>. - Связи — линиями с «вороньими лапками»:
}o--||(многие к одному) и подписью «поле → поле». TableGroup— пакеты, перечисления —enumсо связью от таблиц, где они используются.- Заметки таблиц — заметками под сущностями, цвет заголовка сохраняется.
Где использовать
- В Markdown и AsciiDoc документах проекта: блок
```plantumlили[plantuml]рисуется прямо в предпросмотре (см. «Редактор Markdown»). - В Confluence с плагином PlantUML — вставьте код как есть.
- В репозитории рядом с миграциями — текст легко ревьюить и сравнивать.
Пример результата
@startuml
title shop
hide circle
skinparam linetype ortho
entity "users" as users {
* id : uuid <<PK>>
--
* email : varchar(255) <<unique>>
}
entity "orders" as orders {
* id : uuid <<PK>>
--
user_id : uuid <<FK>>
total : numeric
}
orders }o--|| users : user_id → id
@enduml
Вопросы и ответы
Зачем, если в редакторе DBML уже есть диаграмма? Диаграмма DBML живёт в редакторе и экспортируется картинкой. PlantUML — текст, который рисуется в Markdown, AsciiDoc и Confluence, поэтому подходит для документации, собираемой из исходников.
Можно ли наоборот — из PlantUML в DBML? Нет: ER-диаграмма PlantUML не содержит типов СУБД в стандартной форме. Модель надёжнее вести в DBML.
