Show HN: Visualize Your Rails App to ER Diagram Automatically
holistics.io
holistics.io
Neither library bundles or depends on Graphviz directly, you need to install Graphviz yourself. I'm wondering what kind of issues you're afraid of? Are you banned from using software that is licensed under a copyleft license somehow?
Either way, as a lawyer, I wouldn’t let anything copyleft touch a project that is intended to be proprietary. If nothing else, the drafting of copyleft licenses is generally abominable, and prone to unintended consequences. For non-commercial projects, they’re fine but of marginal utility at best.
Example: https://camo.githubusercontent.com/f705fefa37f808758adbfa8e5...
I think both tools serve slightly different purpose. How we're different is that we started by being a tool to help you draw databae diagrams by typing code. And adding Rails support was added rather quickly recently.
Things were moving that way in the 80's it appeared, then OOP came along and overzealous practitioners declared RDBMS and tables as an official evil. Sure, different screens or reports may need different subsets of such fields, but filters can be built to sort or filter different "views" as needed per usage point. (OOP is good for some things, but not others.)
I'm tired of retyping or mass-replicating the field wheel. Let's return to table-oriented programming and data dictionaries. It's a D.R.Y. sin. Code is NOT the best place to store most field info. (RDBMS can also store navigation, screen, and menu info, but one thing at a time. 90% of typical CRUD could be done in a declarative sense.)
You are welcome to disagree; I encourage spirited debate.
Here's a list of typical attributes: db-field-name, type, display-name, form-sequence, list-sequence, relation-type (primary key, foreign key, etc.), reference-table, min-length, max-length, default-value, help-tip, bootstrap-column-width, grouping-filters/codes, search-form-type, and other optional do-dads.
Regarding the attributes you listed, looks to me like those are very CRUD-oriented. Many fields don't have a direct representation in the UI at all...
Really appreciate your feedback here!
To those trying it out: if the diagram seems inaccurate, try dragging tables around.
I uploaded a very simple schema, but seemingly unrelated tables looked connected. Turns out it's 100% accurate, but relationships can run behind other tables and make it look like things are connected that aren't. Detangling is easy with a few drags/drops and you get a really nice diagram out of it.
[1] https://django-extensions.readthedocs.io/en/latest/graph_mod...
Are there any plans to make the interactive version exportable or embeddable? I'm working on an application right now that this UX would be perfect for.
> 2018_10_23_121007.class => Fixnum
t.datetime "created_at", default: -> { "now()" }For now, a workaround is to remove those lambda and it should work!