Hey all, maker of DrawSQL here. To dog-food the app over the past year, I've been mapping out the database schemas of open-source packages and apps... lots of them in fact!
Then it clicked, these collected diagrams could be useful for other developers to use as references as well. And maybe bring some SEO juice to the DrawSQL over the long-term. Hence the idea to curate this gallery - A central place to browse & discover DB schemas.
First time posting in HN, let me know what you think, or if you have a schema to suggest that should be added. Thanks!
Hi! This is cool, and is something I wish I had when studying database normalization back in my CS days. If you're seeking more visitors, I would send nice emails to DB professors offering it as free class material. Students could study "current open source" DB patterns, and discuss (in online discussions) the characteristics or that don't make sense.
One comment: I can't figure out how to make the diagrams full screen, and I don't like viewing it in that small box. Perhaps offer a way to maximize or download for offline viewing?
Thanks, a big part of this idea actually came from lecturers that have been using DrawSQL for teaching in uni classes :). I agree will definitely reach out to a few more to see if this tool will be valuable.
On making it fullscreen, that's such an useful/obvious thing to include in hindsight. Thanks for the suggestion! For now you can actually click on the "DrawSQL" logo within that opens it in full screen in a new tab
+1 that the logo affordance is too subtle to make the full feature set easily discoverable from a schema page.
The Export function in the full editor is nice to see. Once the JSON support is there, it would be fun to analytically compare schemas from function-set similar applications.
I would use it in a heart beat if there were an option for a one time license / activation fee and the ability to use it offline without associating the graphs with an account & communicating them back to a central server. my guess is that there may be more folks like me who work at companies that require a certain level of anonymity or security regarding sensitive information like database schemas. just a thought!
I'd echo this - I know a decent amount of DBAs/data devs who need to generate an ERD once a year for some giant overview thing for their new VP or whatever, and Visio just doesnt cut it, graphiz has a million ways to slice it, etc.
Maybe that market isn't that interesting to you, but the value prop for 100 bucks a month (since most real schemas that have the problem of requiring visualization are going to be >50 tables) for one schema that I then get to go cancel or w/e isnt that strong - It'd be enough that I'd consider writing that graphiz layer I keep screwing around with.
Thanks, good to know of the alternate constraints in other companies. Pricing aside, indeed it would be a different challenge tech-wise to have this as an offline tool.
My motivation for building this stemmed from the use-case of smaller-medium dev teams. We were using offline tools (e.g. MySQL Workbench) as part of our dev process and trying to keep it updated as documentation. Which was quite a nightmare to keep in sync between different devs. In this case having a central server was the silver bullet.
Curious - do you all currently use other tools (eg: workbench) for this?
It could be interesting to separate the visualization functionality from the syncing/sharing aspect.
For example, if you store the schema representation as a logical dump (CREATE statements) in a git repo, syncing/sharing becomes trivial. This also provides a branch workflow for collaborative editing, and the commit history serves as an authoritative changelog.
From this point of view, it could be compelling to have an offline visualization tool that simply operates on top of the current local filesystem state of a repo. Ideally this could be paired with a self-hosted server/daemon that can generate a visualization of any arbitrary commit of a remote repo on GitHub, GitLab, etc.
Disclosure: I'm the author of an open source schema management tool https://skeema.io which is designed to support a repo-driven workflow for DDL execution. So I have a heavy bias towards storing schemas declaratively, as repos of CREATE statements.
> Pricing aside, indeed it would be a different challenge tech-wise to have this as an offline tool.
Maybe not an offline tool, then, but rather a hostable server (or isolated enterprise deployment, if you must), rather than a central cloud service. A virtual-appliance Docker image (that you can keep updated upstream) would be ideal, I think.
What’s sensitive about a (normalized) database schema?
I can see a schema definition being “secret sauce” (i.e. a competitive advantage), but I can’t see it being literally dangerous for the company to publish (e.g. because it contains customer PII), unless you’re doing something very strange.
...in which case, that makes me want to know about the schema even more! There’s probably some interesting lessons in there, if just “don’t do this; we deeply regret that we did.”
I think lots of people would be rather embarrassed to post their company's database structures. And lots of databases have table prefixes that can easily be traced to a company or product.
It can be a security risk. For example, imagine if a popular web framework or ORM is found to have an exploit involving some particular data type, when combined with auto-generated HTML forms. If the companies using the framework are known, and their DB schemas are publicly available, this could be a huge target for attackers.
I'd imagine it can also be a legal concern. For example, a schema may reveal presence of a soft-delete column, which conceptually violates GDPR. If the schema is made public, this could cause unwanted legal attention, even if the column is no longer actively used by any application code.
Pretty cool. It would be amazing if a tool is provided to auto-generate a diagram from an existing database (or its DDL), though. (In fact I assumed it would be like that, so ended up a little bit disappointed.)
Thank you so much for creating this! Whenever I think about starting a side project and creating a database I always look for examples for inspiration.
Interesting, though I think that will make more sense in the future when new features to better compartmentalize sections of the diagram is introduced. I imagine it will be a mess of lines right now haha
I really like this app, and I like the fact you're pulling in potential customers through the 200 database schemas (I found it quite fun to just look through them). Unfortunately I don't work with databases anymore but if I do I'll remember to try this out :)
Actually a nice and useful idea for advertising your product. Kudos.
As a suggestion for the site: the schemas are to small, most screenestate is wasted for empty space or side-features. Adding some fullscreen or full-tab-button to let the schema make use of more space would be very useful for studying them.
Great suggestion - I agree, having an easy way to view the diagrams in full screen would be so useful and solve that. For now you can actually click on the "DrawSQL" logo within that opens it in full screen in a new tab.
Oh, I see, that's what I meant. Clicking a logo is not really obvious. Maybe just add a visable "click here" or something to enhance discoverability for this feature. Because I really saw it as a logo, not a button.
Really awesome, thank you - recently I was tinkering with ideas for some projects and I was slightly annoyed that I had to manually crate schemas for some common and battle tested scenarios like blog, registration, etc.
I'd be curious to see if the Odoo one fits, though it might be for the wrong reasons. I had to try and understand it a few years back and it looked like a complete mess to me.
It might be slightly out of scope, but I personally would love to see graph schemas in here.
Neo4j has a few available, but not at this level of polish.
Then it clicked, these collected diagrams could be useful for other developers to use as references as well. And maybe bring some SEO juice to the DrawSQL over the long-term. Hence the idea to curate this gallery - A central place to browse & discover DB schemas.
First time posting in HN, let me know what you think, or if you have a schema to suggest that should be added. Thanks!