dbt run fails if there is a typo in a non-selected model

Viewed 19

We are trying to set up dbt as our main transform tool in a production environment (1000+ models), and have recently noticed a behavior that we see as dangerous. Thus, we are asking ourselves if there is a workaround to bypass it.

Let's say we want to run only one dbt model named model_1. So we simply select it with dbt run --select model_1. But it happens that there is a typo in model_354 definition. Let me clarify that model_1 and model_354 are completely unrelated and do not share dependencies. But dbt first tries to compile every model, finds the typo in model_354, and in that very moment the dbt run command is aborted, no matter it was calling a model not related in any way to the one with the typo.

Now let's think that in our production environment, as I said, we have more than a thousand models, and that we are more than 10 people developing models every day there, in the same environment. Even if a typo should never reach our production environment, it may happen at some point! So, apparently, a single typo is going to prevent the execution of every model in our collection, and that does not sound OK at all. Someone not aware of this can make a great mess.

I searched for similar issues and, although found some (of course we are not the only ones having a big environment), not a single solution was pointed out.

Is there any obvious workaround here that we are missing? How do you undertake this behavior?

Thanks!

0 Answers
Related