I have been using Schemaspy(v5.0) to diagram mySQL(v5.7.11) using Graphviz via Homebrew on my Mac (El Capitan). A recent update to Graphviz(v2.40.1) apparently has broken Schemaspy's ability to generate the relational diagrams.
Writing/graphing summary.....org.schemaspy.util.Dot$DotFailure: 'dot -Tpng:gd
/Tools/docs/data/project/diagrams/summary/relationships.real.compact.dot
-o/Tools/docs/data/project/diagrams/summary/relationships.real.compact.png
-Tcmapx'
failed with return code 139
To solve this issue, I have tried:
Looking to figure out how to get this working again.
[Edit] I didn't find a solution to why SchemaSpy/Graphviz stopped working (or wtf "code 139" meant), but I did use a workaround.
docker run -it --rm -v /docs/data:/data mnuessler/schemaspy -hq
-t mysql -host localhost -u root -p root -db things -o /data/leads
where -v is the volume you opened on your host and -o /data/... is where the output will show up after the run
Version 6.1.0 of SchemaSpy has removed the dependency on GraphViz, so you can avoid this problem by using this version.
Version 6.1.0 has not been released yet, but you can download a snapshot. This version includes a JavaScript implementation of GraphViz which can be used instead of looking for GraphViz on the PATH.
I'm not sure whether the JavaScript version is used by default, but you can force this behaviour by supplying a -vizjs
argument, e.g.
java -jar ./schemaspy-6.1.0-SNAPSHOT.jar -vizjs -t pgsql -o output
-host localhost -port 5432 -s public -db my_db -u root -p password
-dp jdbc/postgresql-42.2.6.jar
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With