The erd package
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:
$ curl 'https://raw.github.com/BurntSushi/erd/master/examples/simple.er' > simple.er $ 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.
|Versions||0.1.0.0, 0.1.1.0, 0.1.2.0, 0.1.3.0|
|Dependencies||base (==4.7.*), bytestring (==0.10.*), containers (==0.5.*), graphviz (==2999.*), parsec (==3.1.*), text (==1.*) [details]|
|Source repository||head: git clone git://github.com/BurntSushi/erd.git|
|Uploaded||Wed Aug 20 23:25:26 UTC 2014 by burntsushi|
|Downloads||1012 total (7 in the last 30 days)|
|Status||Docs not available [build log]
Last success reported on 2015-05-19 [all 4 reports]
For package maintainers and hackage trustees