Note
I’m in the process of forking Erviz. The fork is almost done. The Linux packages are prepared and almost ready to be submitted. (27. Sep 03:47 UTC)
————————
Erviz, written by Mitsuru Kono, is a tool that makes it easy to create entity-relation models and the best thing it’s free!
You can run it on Windows, Linux and Mac but for the latter a patch is required which will be discussed later on this page.
Creating the entity-relation diagram
Only these two steps have to be followed:
-
Create a text file and define all your entities and relationships. The syntax is simple as example shows:
# Using Erviz 1.0.6 {title: "Syn2Stock ERD V3"; title-size: 20} # Entities [Item] {color:red} *Item ID Type SimpleItem Bar Code Name Amount Owner Comment Attachments Sources Source ID* Location ID* Lending ID* [Source] *Source ID Price Homepage Manufacturer [Location] *Location ID GPS Coordinates Name Room Locker [Lending] *Lending ID Borrowed by Borrowed on Returned on Reminder ID* [Reminder] *Reminder ID Start Date Repeat Interval End Date Active Action Email Phone Message Item ID* Lending ID* [Event] *Event ID Event Type Date User Item ID* [Attachment] *Attachment ID File External URL Private [Electronic Part] {color:orange} *Electronic Part ID Value Item ID* [Book] {color:orange} *Book ID Subtitle Author Publisher Paperback Language Review Summary About the Author Item ID* # Relationships [Item] *--* [Source] [Item] 1--1 [Location] [Item] 1--* [Lending] [Item] *--* [Attachment] [Reminder] ---- [Item] [Event] *--1 [Item][Electronic Part] ---- [Item] [Book] ---- [Item] - Then turn the text file into the ERD image by calling the convert-files script.
Where do I get it?
Since I’m in the process of forking Erviz it will be rereleased on the new project page. In the meantime you can download the old but non-maintained version here:
md5: dbfa20515118535c106032c8200163c6
sha256: 8f1fb3832eb33a1aef2f0a7b439949e9b132ee4ff73f5b18bea174dc1f7bd21e
md5: 90d8a9c7dc74b07cfb44484823ed0059
sha256: b9273fff329550951d57bcf201be85e5a9cfe0d1592bfc90077a2a385b274565
What else do I need?
Java 6 and Graphviz.
Apple doesn’t offer Java 6 or greater for 32-bit macs but fortunately there’s SoyLatte, a FreeBSD Java port which brings Java 6 back.
I wrote a script that installs it for you. Download the Java 6 Installer, extract the archive, open a Terminal and execute
chmod 755 install_java6.sh
./install_java6.sh
Graphviz can be downloaded from graphviz.org or install the macports package by executing
sudo port install graphviz
How do I install it?
Setup
Download and extract erviz. Its folder contains two setup files, one for windows and one for Linux/Unix/Mac.
localhome:erviz-1.0.6 slopjong$ ls -l
total 32
drwxr-xr-x@ 11 slopjong admin 374 27 Jul 2010 _setup_
-rw-r--r--@ 1 slopjong admin 86 27 Jul 2010 readme_1st.txt
-rw-r--r--@ 1 slopjong admin 2449 27 Jul 2010 setup.cmd
-rw-r--r--@ 1 slopjong admin 2853 27 Jul 2010 setup.sh
The next step is linux/unix/mac specific so have a look at the readme file to see how it’s done on windows.
Change the file permission to 755 and launch the setup script.
localhome:erviz-1.0.6 slopjong$ chmod 755 setup.sh
localhome:erviz-1.0.6 slopjong$ ./setup.sh
It asks you if you want to install the English or Japanese version. Type in 1 or 2.
Select language number. (Enter 'q' to quit.)
1: English
2: Japanese
-n Language:
1
copying... [./_setup_/common/bin/*] -> [./bin/*]
copying... [./_setup_/common/html-docs/*] -> [./html-docs/*]
copying... [./_setup_/common/work/*] -> [./work/*]
copying... [./_setup_/unix/bin/*] -> [./bin/*]
copying... [./_setup_/en/docs/*] -> [./docs/*]
copying... [./_setup_/en/work/*] -> [./work/*]
copying... [./_setup_/en-unix/bin/*] -> [./bin/*]
copying... [./_setup_/en-unix/work/*] -> [./work/*]
permission changing... [./bin/*.sh]
permission changing... [./work/scripts/*.sh]
copying... [./work/scripts/text2png-ie.sh] -> [./work/text2png-ie.sh]
copying... [./work/scripts/text2png-idef1x.sh] -> [./work/text2png-idef1x.sh]
moving... [./docs/readme.txt] -> [./readme.txt]
Completed
See ./readme.txt
On windows and Linux you’re done. Mac users must patch as described next.
Patching
Download this patch file and extract it into your erviz installation folder. Change into the bin directory and simulate the patching with the option –dry-run to see if the patch will work for you.
localhome:erviz-1.0.6 slopjong$ cd bin/
localhome:bin slopjong$ patch --dry-run -p1 -i ../erviz.patch
If you get the following output the patch would have worked.
patching file convert-files.sh
patching file erviz.sh
patching file messages.sh
Now run the patch again but without the –dry-run option this time.
localhome:bin slopjong$ patch -p1 -i ../erviz.patch
patching file convert-files.sh
patching file erviz.sh
patching file messages.sh
Patch done. Wasn’t this easy?
How do I use it?
After you wrote your model (or copied it from above) you translate it into layered drawings of directed graphs by executing
./erviz.sh -i your_model.txt -o graph.dot
your_model.txt is the input file and the result of this script will be written into graph.dot. This will be the input file for the other script.
./convert-files.sh graph.dot
You should get graph.png, your ERD image.

Erviz looks very nice but the author’s site seems to have disappeared; you are now the prime source of the program. If anyone knows of an up to date URL for Mitsuru Kono please post here.
When I wrote this article I dropped him a message that there’s a patch for mac os available on my blog but I never got a reply. Let’s wish that he’s fine.
Erviz will be rereleased under a new name since the old Erviz project obviously died. I’ve made the new version more user-friendly but no extra features were added.
If you have some wishes, drop me a message here.
Nice initiative! Erviz is such a nice tool. I’m working on a Perl port and hope we can get this together and deliver erviz in many flavors. : )