erd: 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:
$ 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 [RSS]||0.1.0.0, 0.1.1.0, 0.1.2.0, 0.1.3.0, 0.2.0.0, 0.2.1.0|
|Dependencies||base (>=4.6 && <4.7), bytestring (>=0.10 && <0.11), containers (>=0.5 && <0.6), graphviz (>=2999.16 && <2999.17), parsec (>=3.1 && <3.2), text (>=0.11 && <0.12) [details]|
|Source repo||head: git clone git://github.com/BurntSushi/erd.git|
|Uploaded||by burntsushi at 2014-01-16T04:47:15Z|
|Downloads||6149 total (28 in the last 30 days)|
|Rating||(no votes yet) [estimated by Bayesian average]|
|Status||Docs not available [build log]
Successful builds reported [all 7 reports]