Dependency Analysis & CI/CD

TL;DR: How do we know if we introduce a breaking change in our warehouse?

Simple enough, right. We run DBT+BQ+GitLab+QuarterMaster so we have a decent handle on potential breaking changes in our code analytics warehouse development.

But, when it comes to metabase, we’re suddenly helpless kittens.

Great for a Christmas card or a Tinder profile. less so for, you know, professional data people.

Any ideas?

I’ll kick off one approach I’m tossing around
In our core repo, include a structure like this



And in Q1.sql have select * from ../dataset1/t1
similarly D1.sql has

Union all select ‘q2’  from ../questions/q2

Which is pretty manual, but I don’t see a better approach other than trying to parse the MB object definitions directly.


We could even extend it by having a 1:M