← All posts

entity relationship diagram

Embed your database schema anywhere

by Loïc Knuchel on

Azimutt is already the perfect tool to explore your database schema, I hope you experienced it yourself. You can search, display what you need, follow relations and even use advanced feature like find needed joins between two tables or identify problems in your schema such as missing relations. You may like all this and make great use of it in your own investigations, but, it was only personal research. No way to easily share this with your co-workers or anyone else.

Not anymore! Embed your schema and make it accessible to whom you want:

Notice it’s interactive, you can hover columns and select tables but everything is fixed. When embedding your schema, you can choose which Azimutt feature you want to provide, from none, juste like a picture to everything including project settings and layout navigation (more examples below).

One big challenge here is doing that without compromising your database schema privacy. For that, Azimutt still host nothing, to embed your schema you will have to download it and host it yourself, with the access you want. For example, in a gist, github/gitlab/bitbucket repository with the required access or anything else that can serve a json file.

But, what about documentation showing a specific part of the schema? You’re right! By default, the embed mode shows the current layout of the project, but you can choose a specific layout to display. For example, here is the gospeak project (in samples) shown with the speaker layout, and the move mode, so you can rearrange the tables if you like:

Create the layout you want to highlight your point and embed it. It’s that easy!

In fact, you have everything done for you in the sharing modal (accessible with the top right sharing icon): project download, specify project url, layout (optional) and embed mode:

Azimutt embed setup Azimutt embed setup

You even have a dynamic view of your settings, replacing the big image on the left, so you can experiment what the different modes do:

Azimutt embed preview Azimutt embed preview

Sharing page with your schema embed or even directly the embed url will largely ease your communication. For example, I created a confluence page at Doctolib with our database schema, so developers could search for it on confluence and see it directly and interactively. Much easier than explaining to everybody that Azimutt exists, he/she can grab the structure.sql, import it, and then create a few layouts. I had an overwhelming feedback doing that 🎉 Maybe you should try it yourself too ^^

All this is great, but working daily with other people and a database schema that is always evolving can be challenging, as the Azimutt project is not, at least not automatically. You don’t want to see an outdated diagram, and you don’t want to update it every day either…

One solution there, this one is just for you, fellow readers that went until the end of this article. The feature is still hidden, but instead of giving your Azimutt project to the embed url, you can directly give your SQL schema. For that, just replace the project-url parameter with a source-url parameter pointing at your database schema, and the full mode allowing you to explore it fully, it can be very convenient:

You now have a fresh project, created from your dynamically parsed schema 🥳

The drawback here is you can’t provide predefined settings and layouts. But stay tuned, Azimutt is always improving… And even more if you come, discuss and provide some feedback ❤️

Azimutt Icon

Azimutt · Database explorer and analyzer

Hi there! We're building a Next-Gen ERD to help understand real world databases, with cool UI and privacy focus. You can read about our journey and what we've learnt along the way on this blog.