# Azimutt - Explore your database, thanks to Elm ^^

**URL:** <https://discourse.elm-lang.org/t/azimutt-explore-your-database-thanks-to-elm/7734>\
**Category:** Show and Tell\
**Created:** [September 6, 2021, 6:47am UTC](https://discourse.elm-lang.org/t/azimutt-explore-your-database-thanks-to-elm/7734 "2021-09-06T06:47:09Z")\
**Posts on this page:** 7\
**Page:** 2

<div class="post-metadata">

**Author:** ![sebbes](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/sebbes/32/3356_2.png) [@sebbes](https://discourse.elm-lang.org/u/sebbes)\
**Post date:** [September 12, 2021, 6:52am UTC](https://discourse.elm-lang.org/t/azimutt-explore-your-database-thanks-to-elm/7734/21 "2021-09-12T06:52:28Z")

</div>

> add a dashed underline on joined tables with a tooltip, so you are notified there is something special and the text appear immediately, not after a few seconds

Yeah, having the tooltip appearing immediately on hover would be really helpful. Because I did hover the line but I didn’t stay long enough on the element and the tooltip didn’t showed up (that means you’d need to track this hover state on the elm side and displaying it with a `position: relative` property or so).

Another way would be having a `>` chevron on the left of the line which turns into a `v` when we click on the line and would “expand” the path vertically.

Also easy improvement with this is to use → and ← UTF 8 arrow, whic looks way nicer than `->` 🙂 .

> have a default list of fields to ignore (created\_by, updated\_by, deleted\_by and their variants)

I don’t get it, do you want adding a list of ignored fields for all the schema being loaded? What about the schema is written in French (au fait, salut depuis Paris!)? Or use different convention like `creator` instead of `created_by`?

About global layout, I’d move the search modal on the left menu (you could have two tabs: “Tables”/“Search”). This way, we can still see all the tables and parametrize the search accordingly to what we see. (Generally speaking, I tend to avoid modals since they break the “flow” and hide data; e.g. what if there is a long and complicated field I’d want to ignore in the search and I want copy paste it from the table? I’d need to close the modal, copy the field, reopen the modal and paste it).

Last thing: are you aware the “deepth limitation” in the doesn’t work (I know, this is experimental feature, but I prefer to warn you)?

---

<div class="post-metadata">

**Author:** ![loicknuchel](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/loicknuchel/32/4177_2.png) [@loicknuchel](https://discourse.elm-lang.org/u/loicknuchel)\
**Post date:** [September 12, 2021, 10:57am UTC](https://discourse.elm-lang.org/t/azimutt-explore-your-database-thanks-to-elm/7734/22 "2021-09-12T10:57:42Z")

</div>

Thanks for your suggestions, I did some improvements:

- tooltip is now appearing immediately with a dotted underline indicator
- replaced `->` by `→` 👍
- added option to expand a result and show the needed joins (hope it will helps)
- added some messages to remind of settings 😉

 ![Screenshot from 2021-09-12 12-48-44](https://canada1.discourse-cdn.com/flex035/uploads/elm_lang/original/2X/7/7a8ddb1b63f1c2b2e8647547827ee1c6c9c33974.png)

Regarding the search itself, prefilled ignored fields will only be the default value (to catch common cases), but anyone can change it depending on their needs (no way I can guess what is relevant or not ^^).  
About the path length, it’s limited to 3 by default but you can change this in the settings (at the beginning of the modal)  
I agree modals are not a very good UI, they were the easy way to get my features out and have feedback, now I take more time to improve them 😉

Would be happy to have your feedback on my (small) improvements 😃

PS: for the tooltip I currently use Bootstrap so they are not related to my Elm model, but I’m transitioning to Tailwind with a goal to have them (among other things) in my model. Do you have an idea how to do that? Send a message with an id to know what is hovered ? (I do that for columns but I’m not sure it’s very efficient)

---

<div class="post-metadata">

**Author:** ![bogdan-k](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/bogdan-k/32/3559_2.png) [@bogdan-k](https://discourse.elm-lang.org/u/bogdan-k)\
**Post date:** [September 12, 2021, 10:45pm UTC](https://discourse.elm-lang.org/t/azimutt-explore-your-database-thanks-to-elm/7734/23 "2021-09-12T22:45:10Z")

</div>

> [@loicknuchel](#):
>
> Your point 2 is interesting, what is your use case? Documenting your database? (manually within the app? from imports?)

Yes. A common use case is that we have some vendor database(s) that we are trying to make sense of and build a knowledge base for over time. We want to build a model of how tables relate to each other, and to annotate the meaning of certain fields, etc. It would inform new queries and views that we would create.

I see your app as potentially being the tool that we could do that with. Especially if it had collaboration and code-gen features at some point in the future.

Hope that helps illustrate the use case.

---

<div class="post-metadata">

**Author:** ![loicknuchel](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/loicknuchel/32/4177_2.png) [@loicknuchel](https://discourse.elm-lang.org/u/loicknuchel)\
**Post date:** [September 13, 2021, 5:33am UTC](https://discourse.elm-lang.org/t/azimutt-explore-your-database-thanks-to-elm/7734/24 "2021-09-13T05:33:08Z")

</div>

I totally get your point, thanks!

I didn’t thought of the “understanding vendor database” use case and it’s a great one 👍

About collaboration and code-gen, this is planned. But clearly not in the near future as I’m looking to expand the primary use case which is exploring and understanding a schema (except if I had a lot of requests for this, I could adapt the roadmap ^^)

---

<div class="post-metadata">

**Author:** ![sebbes](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/sebbes/32/3356_2.png) [@sebbes](https://discourse.elm-lang.org/u/sebbes)\
**Post date:** [September 13, 2021, 7:42am UTC](https://discourse.elm-lang.org/t/azimutt-explore-your-database-thanks-to-elm/7734/25 "2021-09-13T07:42:33Z")

</div>

Yeah, that’s way better ! Nitpicking: the tooltip sometime wrap and takes 2 lines, would be great having some `white-space: nowrap;` in the tool tip.

> About the path length, it’s limited to 3 by default but you can change this in the settings (at the beginning of the modal)

Thing is I have really long path, greater than 3, e.g.:  
 ![image](https://canada1.discourse-cdn.com/flex035/uploads/elm_lang/original/2X/f/fff41e1be77d26e44b74cfe32d522fe5d3a445bf.png)

About the tooltip, actually, there might be a way displaying it only using `:hover` pseudo property (the same for the highlight of your columns). Though, doing so will force you rendering all the tooltips in the DOM which can result in a big node number, which _might_ result in performance bottleneck. Otherwise, what you describe would be the way I’d go.

---

<div class="post-metadata">

**Author:** ![loicknuchel](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/loicknuchel/32/4177_2.png) [@loicknuchel](https://discourse.elm-lang.org/u/loicknuchel)\
**Post date:** [September 20, 2021, 8:35am UTC](https://discourse.elm-lang.org/t/azimutt-explore-your-database-thanks-to-elm/7734/26 "2021-09-20T08:35:08Z")

</div>

@opsb Hi, I updated the [https://azimutt.app](https://azimutt.app) landing page with you words, feel free to ask for any change if you want to.

@bogdan-k I plan to add manual relations this week, I hope you will like them 😉  
For annotating tables, columns and relations, I will be for next week if everything goes weel ⏲

Last week I also added a group selection feature, so now you can select a few tables (ctrl+click or area selection) and move them all together or zoom on them 🎉

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex035/uploads/elm_lang/original/1X/50a05e53677a2c3b47776d7abd0f113eb50193a1.png) [@system](https://discourse.elm-lang.org/u/system)\
**Post date:** [September 30, 2021, 8:36am UTC](https://discourse.elm-lang.org/t/azimutt-explore-your-database-thanks-to-elm/7734/27 "2021-09-30T08:36:02Z")

</div>

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.

[Previous page](https://discourse.elm-lang.org/t/azimutt-explore-your-database-thanks-to-elm/7734.md?page=1)
