@hackage erd0.2.1.0

An entity-relationship diagram generator from a plain text description.

erd transforms a plain text description of a relational database schema to a graphical representation of that schema. It is intended that the graph make use of common conventions when depicting entity-relationship diagrams, including modeling the cardinality of relationships between entities.

A quick example that transforms an er file to a PDF is just below. The original source file can be found amongst the examples in the repository.

$ cat simple.er
# Entities are declared in '[' ... ']'. All attributes after the
# entity header up until the end of the file (or the next entity
# declaration) correspond to this entity.
#
[Person]
*name
height
weight
+birth_location_id

[Location]
*id
city
state
country

# Each relationship must be between exactly two entities, which
# need not be distinct. Each entity in the relationship has
# exactly one of four possible cardinalities:
#
# Cardinality    Syntax
# 0 or 1         0
# exactly 1      1
# 0 or more      *
# 1 or more      +
Person *--1 Location
$ erd -i simple.er -o simple.pdf

The PDF should now contain a graph that looks like this:

See the README.md file for more examples and instructions on how to write ER files.