prisma-uml
v1.1.18
Published
A CLI to transform a Prisma schema to a PlantUML Entity RelationShip Diagram
Downloads
4,347
Maintainers
Readme
A CLI to transform a Prisma schema to a PlantUML Entity RelationShip Diagram
Installation
Using npx
If you don't want to install the CLI but just execute it, you can use it through npx
this way
npx prisma-uml --help
Install with npm
You can also install the CLI globally
npm i -g prisma-uml
prisma-uml --help
Commands
prisma-uml <path> [options]
Generate a plantUML from a Prisma schema
prisma-uml <path> [--output] [--server] [--file]
Argument
| Name | Description | |----------|------------------------| | path | Path to Prisma schema. |
Options
| Name | Alias | Description | Type / Choices | Default | |--------------|-------|--------------------------------------|--------------------------------------|-----------------------------------| | --output | -o | Output of the diagram | string / [text | svg | png | jpg] | text | | --server | -s | PlantUML Server URL | string | https://www.plantuml.com/plantuml | | --file | -f | Filename or File full path to output | string | |
# Output a plantUML Entity Relation Diagram as text
prisma-uml ./schema.prisma
# Save the diagram into a .plantuml file
prisma-uml ./schema.prisma > my-erd.plantuml
# Output a diagram as SVG
prisma-uml ./schema.prisma --output svg --file my-erd.svg
# Output a diagram as PNG
prisma-uml ./schema.prisma -o png -f my-erd.png
# Use a plantUML custom server to render the image
prisma-uml ./schema.prisma --server http://localhost:8080
Image Rendering
Using the official PlantUML server online
PlantUML usually requires to have Java installed or a server to render the images. By default the official online server (https://www.plantuml.com/plantuml) is used to render the images. The plantUML diagram is first compressed then encoded (plantUML encoding) and finally sent to the server to execute the rendering.
Using a local server with Docker
You might want to avoid sending your diagram over the wire for some reason, prisma-uml
allows you to specify a custom/local server. You could easily run your own local server using Docker:
docker run -d -p 8080:8080 plantuml/plantuml-server:jetty
You server is now available (depending of you Docker installation) at http://localhost:8080
. You can then use prisma-uml
as follow:
prisma-uml ./schema.prisma --server http://localhost:8080
Demo
Incoming changes
- [ ] Feat: Split attributes by entity (scalar, enum, navigation fields / external type).
- [ ] Feat: Group relations by entities.
- [ ] Feat: NextJs Preview that run the CLI on server to render a prisma schema to a plantUML ERD ?
- [ ] Feat: Display Version Number
- [ ] Feat: Handle
-o text -f my-erd.puml|.wsd|.plantuml...
- [ ] Remove
--output
in favor of extension handling (.svg, .png, .jpg, .puml...) (?) - [ ] Fix: Multiple cardinalities when should be online one (see simple example)
- [ ] Feat: Add logging to stdout to describe what the CLI is doing
Authors
👤 Brendan Stromberger
- Github: @bstro
👤 Yann Renaudin
- Github: @emyann
Show your support
Give a ⭐️ if this project helped you!