All Projects → fuelen → ecto_erd

fuelen / ecto_erd

Licence: Apache-2.0 license
A mix task for generating Entity Relationship Diagram from Ecto schemas available in your project.

Programming Languages

elixir
2628 projects

Projects that are alternatives of or similar to ecto erd

PlantUml-Language-Service
PlantUml Language Service extension for Visual Studio 2017 and 2019
Stars: ✭ 24 (-86.13%)
Mutual labels:  graphviz, uml, plantuml
C4 Plantuml
C4-PlantUML combines the benefits of PlantUML and the C4 model for providing a simple way of describing and communicate software architectures
Stars: ✭ 3,522 (+1935.84%)
Mutual labels:  graphviz, uml, plantuml
swagger2puml
Generate Class Diagrams (UML) for Given Swagger Definition
Stars: ✭ 43 (-75.14%)
Mutual labels:  graphviz, uml, plantuml
Kroki
Creates diagrams from textual descriptions!
Stars: ✭ 774 (+347.4%)
Mutual labels:  graphviz, uml, plantuml
Aws Plantuml
PlantUML sprites, macros, and other includes for AWS components.
Stars: ✭ 565 (+226.59%)
Mutual labels:  graphviz, uml, plantuml
Asciidoctor Kroki
Asciidoctor.js extension to convert diagrams to images using Kroki!
Stars: ✭ 55 (-68.21%)
Mutual labels:  graphviz, uml, plantuml
plant erd
ERD exporter with PlantUML and mermaid format
Stars: ✭ 126 (-27.17%)
Mutual labels:  plantuml, erd, mermaid
Azure Plantuml
PlantUML sprites, macros, and other includes for Azure services
Stars: ✭ 247 (+42.77%)
Mutual labels:  graphviz, uml, plantuml
Plantuml Service
High-performance HTTP service for PlantUML, used in Kibela
Stars: ✭ 86 (-50.29%)
Mutual labels:  uml, plantuml
Umldoclet
Automatically generate PlantUML diagrams in javadoc
Stars: ✭ 138 (-20.23%)
Mutual labels:  uml, plantuml
Plantuml Icon Font Sprites
plantuml-font-icon-sprites
Stars: ✭ 242 (+39.88%)
Mutual labels:  uml, plantuml
Lein Plantuml
A Leiningen plugin for generating UML diagrams using PlantUML
Stars: ✭ 43 (-75.14%)
Mutual labels:  uml, plantuml
Plantuml Styler
Online tool to make your PlantUML diagrams look great.
Stars: ✭ 35 (-79.77%)
Mutual labels:  uml, plantuml
Arkit
JavaScript architecture diagrams and dependency graphs
Stars: ✭ 671 (+287.86%)
Mutual labels:  uml, plantuml
Plantuml Editor
PlantUML online demo client
Stars: ✭ 313 (+80.92%)
Mutual labels:  uml, plantuml
plugins
Collection of builtin GNU TeXmacs plugins
Stars: ✭ 33 (-80.92%)
Mutual labels:  graphviz, plantuml
vscode-markdown-editor
A vscode extension to make your vscode become a full-featured WYSIWYG markdown editor
Stars: ✭ 249 (+43.93%)
Mutual labels:  graphviz, mermaid
Protobuf Uml Diagram
Create UML diagrams from Protobuf compiled .proto files using Python
Stars: ✭ 17 (-90.17%)
Mutual labels:  graphviz, uml
dcdg.dart
Dart Class Diagram Generator
Stars: ✭ 98 (-43.35%)
Mutual labels:  uml, plantuml
idle
parse source code(objective-c, java) generate uml(class diagram)
Stars: ✭ 44 (-74.57%)
Mutual labels:  uml, plantuml

Ecto.ERD

A mix task for generating an ERD (Entity Relationship Diagram) in various formats for all Ecto schemas available in your project.

Supported formats:

Simple blog demo

Definition of schemas
defmodule Blog.Post do
  use Ecto.Schema

  schema "posts" do
    field(:title, :string)
    field(:text, :string)
    timestamps()
    belongs_to(:user, Blog.User)
    has_many(:comments, Blog.Comment)
  end
end

defmodule Blog.Comment do
  use Ecto.Schema

  schema "comments" do
    field(:text, :string)
    timestamps()
    belongs_to(:post, Blog.Post)
    belongs_to(:user, Blog.User)
  end
end

defmodule Blog.User do
  use Ecto.Schema

  schema "users" do
    field(:email, :string)
    has_many(:posts, Blog.Post)
    has_many(:comments, Blog.Comment)
  end
end

Installation

The package can be installed by adding ecto_erd to your list of dependencies in mix.exs:

def deps do
  [
    {:ecto_erd, "~> 0.5", only: :dev}
  ]
end

Usage

Just run:

mix ecto.gen.erd

The command above produces a file in DOT format which can be converted to an image using graphviz utility:

dot -Tpng ecto_erd.dot -o erd.png

Configuration is possible via .ecto_erd.exs file. The docs can be found at https://hexdocs.pm/ecto_erd. Configuration examples and output for a couple of open-source projects can be found in EXAMPLES group of PAGES section.

Troubleshooting

Trying to run ecto_erd on an umbrella project? Did you get this error?

$ mix ecto.gen.erd
** (RuntimeError) Unable to detect `:otp_app`, please specify it explicitly

The easiest solution is to run the command on one of the apps in the apps/ directory. Another option is to create a configuration file and specify the :otp_app. See the docs for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].