kndev-erd-generator
v0.0.5
Published
Генератор ER-диаграмм из моделей Zenstack (.zmodel) с поддержкой наследования и абстрактных моделей
Downloads
24
Maintainers
Readme
kndev-erd-generator
Генератор ER-диаграмм из моделей в формате .zmodel (Zenstack) с поддержкой абстрактных моделей, наследования и реляционных связей.
Выводит универсальный JSON или диаграмму в формате Mermaid для удобного отображения в Angular и других приложениях.
Возможности
- Поддержка абстрактных моделей (
abstract model) - Поддержка наследования (
extends) - Поддержка реляционных связей с использованием аннотаций
@relation - Генерация JSON для дальнейшей обработки или Mermaid-диаграммы
- Конфигурируемый путь к исходным моделям и выходному файлу
- Легко интегрируется с Angular-компонентом для визуализации
Установка
npm install kndev-erd-generatorИспользование
CLI
kndev-erd-generator --schemaDir ./path/to/zmodel --output ./output/erd.json --driver mermaidПараметры:
--schemaDir— директория с.zmodelфайлами (по умолчанию./schema)--outputFile— путь к выходному файлу с результатом (по умолчанию./erd.json)--driver— формат вывода:default(универсальный JSON) илиmermaid(Mermaid диаграмма) (по умолчаниюdefault)
Пример конфигурации в package.json
{
"kndevErdGenerator": {
"schemaDir": "./schema",
"outputFile": "./erd.json",
"driver": "mermaid"
},
"scripts": {
"generate-erd": "kndev-erd-generator"
}
}Теперь можно запускать генератор через:
npm run generate-erdПример .zmodel
abstract model Party {
id String @id @default(uuid())
name String
}
model Person extends Party {
email String @unique
orders Order[] @relation(fields: [id], references: [customerId])
}
model Order {
id String @id @default(uuid())
orderDate DateTime
customerId String
customer Person @relation(fields: [customerId], references: [id])
}Интеграция с Angular
Используйте сгенерированный файл JSON и компонент Angular для отображения Mermaid диаграммы.
Подробную инструкцию смотрите в MERMAID.md.
Лицензия
MIT
