PlantUML | Шаблон для описания таблиц БД
Делюсь с Вами разработанным мною шаблоном, для описания таблицы БД в PlantUML, c элементами автоматизации, описание которых указанно в комментариях.

Всем привет!
Делюсь с Вами разработанным мною шаблоном, для описания таблицы БД в PlantUML, c элементами автоматизации, описание которых указанно в комментариях.
Протестировать можете тут, а сам код шаблона указан ниже:
' Шаблон описания таблицы БД (в PlantUML)
@startuml
skinparam {
' Параметры для управления нижним колонтитулом
FooterFontColor #blue
FooterFontSize 12
' Параметры для управления легендой
LegendBackgroundColor #lightblue
LegendBorderThickness 0
}
' Переменные для ускорения описания таблицы
' - PRIMARY KEY можно указывать как: "$PK"
!$PK=" <size:11><#DarkKhaki:key:></size> (PK) "
' - FOREIGN KEY можно указывать как: "$FK"
!$FK=" <size:11><#DeepPink:key:></size> (FK) "
' - NOT NULL (N-N) можно указывать как: "$NN"
!$NN=" <#LightGreen> **N-N** "
' - NULL можно указывать как: "$N"
!$N = " <#LightCoral> **NULL** "
' Переменные для ускорения добавления информации о таблице
' - Наименование таблицы БД (латинское)
!$table_name="Наимнование_таблицы_БД"
' - Краткое описание таблицы (на русском)
!$description="Краткое описание таблицы (на русском)"
' - Ссылка на описание таблицы (на русском)
!$doc_url="Ссылка"
' Контакты, отображаемые в нижнем колонтитуле
!$autor ="Зимин Антон"
!$email ="antzim_in@ya.ru"
!$telegram="antzim_in"
' Заголовок документа, формируется автоматически из заполненных выше параметров (при необходимости можно удалить)
title $table_name | $description
' Легенда (может быть заполнена любыми необходимыми данными)
' - "right" говорит о том, что легенда будет расположена справа
legend right
**Легенда:**
| Версия документа: | 1.0.0 |
end legend
' Описание таблицы
' - заголовок таблицы, с кликабельной ссылкой (если выгружать в SVG) формируется автоматически
class "[[$doc_url $table_name]] ($description)" as $table_name << (T,#FF5722) >>{
|= PK,FK |= Поле |= Тип |= Обязательность |= Значение\n по умолчанию |= Описание |
| $PK | id | serial | $NN | | Идентификатор записи в таблице |
| $FK | subscriber_id | integer | $NN | | Идентификатор записи в таблице subscriber |
| | electronic_address | varchar(255) | $N | | Электронный адрес \n клиента |
| | created_at | timestampz | $NN | now() | Дата и время создания записи в БД |
| | updated_at | timestampz | $NN | now() | Дата и время обновления записи в БД |
}
' Нижний колонтитул (формируется автоматически из введенных параметров)
footer © $autor | tg: [[https://t.me/$telegram @$telegram]] | email: $email
@enduml
Буду рад Вашим комментариям, отзывам, а если еще и поднимите карму то буду крайне благодарен.
Всем спасибо.
----
Пообщаться со мной можно в telegram: @antzim_in
P.S. Также, если Вам интересно, я веду telegram канал @sa_chulan и буду очень рад Вашей подписке.