Generating DB Schema ER Diagram using SchemaCrawler We can visualize our DB schema using SchemaCrawler Download the latest package from here:
https://github.com/sualeh/SchemaCrawler/releases/
Copy _schemacrawler folder and rename it to schemacrawler to another location and add the directory path of the same to PATH Use GraphViz to create schema diagram http://sualeh.github.io/SchemaCrawler/diagramming.html
Cd into schemacrawler directory and run ./schemacrawler.sh(on mac and ubuntu env) with option as mentioned below.
You can run sample command to get the schema diagram in the form of png image for postgre db:
./schemacrawler.sh -command graph -outputformat png -outputfile=dh_er.png -loglevel=CONFIG -server=postgresql -host=localhost -port=5432 -database=testdb -user=testuser -password=testpass -infolevel=standard
To include/exclude some tables you need to define configuration
in schemacrawler.config.properties as example:
schemacrawler.table.pattern.include=.*askbot_activityauditstatus |.*askbot_anonymousanswer|.*askbot_anonymousquestion |.*askbot_askwidget|.*askbot_badgedata|.*askbot_bulktagsubscription |.*askbot_bulktagsubscription_groups|.*askbot_bulktagsubscription_tags
schemacrawler.table.pattern.exclude is the key. value of the same is the JAVA regex pattern
Note: If you are facing "SERVICE: Cannot run program "dot": error=2, No such file or directory" issue...
Please install below(for mac only):
Install the app : brew install graphviz