A mix task for generating an ERD (Entity Relationship Diagram) in various formats for all Ecto schemas available in your project.
Supported formats:
The package can be installed by adding ecto_erd
to your list of dependencies
in mix.exs
:
def deps do
[
{:ecto_erd, "~> 0.6", only: :dev}
]
end
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.
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.