⏫Lots of little improvements to import script for PostgreSQL

Looked through the logs top issues faced by users when importing, and made lost of improvements to the import script. 

All DBMS

  • Handle Aliases like int2, int4, int8, numeric etc.
  • Parse CREATE INDEX and CREATE UNIQUE INDEX statements
  • More instructive error logs for when the import fails

PostgreSQL

  • Added missing enum data type
  • Parse character varying data type (previously only understood varchar)
  • Differentiate timestamp and time with/without TIME ZONE

🆕Smarter positioning new tables

Another usability improvement, new tables added will always be positioned within the viewport next to the sidebar. Much easier to view changes as you go about creating your table columns etc.

This works regardless of the current pan/zoom-level of the diagram. Tiny improvement, but I've cursed 🤬 at having to zoom around to find that one new table, more times than I'd like to admit.


🔛Collapsible sidebar

Small usability improvement, you can now hide the sidebar to see more of your schema, especially useful in view-only or presentation mode.

It's the small details 🙂

👐Nicer (card) preview when sharing

Diagrams in DrawSQL gets shared around quite a bit on social channels (e.g. Slack, Twitter and face. Up until now it looks unpolished because of the missing Open Graph meta tags:

Much better now:

It also shows a screenshot preview for public diagrams.

🔎Zoom to Fit

An additional zoom control that let's you easily 'reset' your pan position and zoom level to fit the diagram within your viewport.

👯New clone diagram flow

This is a revamp of the previous 'duplicate diagram' functionality. It now comes with a loading indicator, as well as the ability to clone a diagram across your different teams.

User now also have the ability to clone from any of the public diagrams, to serve as a starting point for creating their next database diagram 👀 - a big hint for what we're cooking up next. Keep an eye on our monthly newsletter to learn more!

🎨 Visual updates

Few small (but long overdue) update to improve usability:

New relationship type selector

Rebuilt this component from scratch. Previously it was using browser default select element which limited style customization, and resulted in awkward sizes when the diagram is zoomed.

New import wizard

Previous import offered multiple options for the different sources. This made sense back then when we envisioned for diagrams in DrawSQL to be 'DBMS agnostic', so users can create generic diagrams, and import/export them in any DBMS that they like.

While that's nice to have, however, we've learnt over time that for most apps out there switching the DBMS happens quite rarely. Making the editor be DBMS-agnostic had some limitations too - the major one that was causing headaches was that there wasn't a direct 1-1 mapping of column datatypes between the different DBMS. We tried a few different designs on the datatype selector to cater for this, but were not satisfied and felt like they were still unsatisfactory in terms of usability.

We're leaning towards an overhaul so that each diagram has a distinct DBMS selected. Revamping this import wizard is the first step in that direction.

Show Previous EntriesShow Previous Entries