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

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]

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
# 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.


# 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 -o simple.pdf

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

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


Change log
Dependencies base (>=4.5 && <5), bytestring (>=0.10 && <0.11), containers (>=, directory (>=, filepath (>=1.4.2), gitrev (>=1.3.1), graphviz (>=2999.20 && <2999.21), parsec (>=3.1 && <3.2), raw-strings-qq (>=1.1), text (>=1 && <2), yaml (>=0.8.32) [details]
License LicenseRef-PublicDomain
Author Andrew Gallant
Category Database, Development
Home page
Source repo head: git clone git://
Uploaded by mmzx at 2020-02-02T11:56:56Z


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees