How should development and production write to different schemas without two copies of the configuration?
Our transformation project writes to the same schema whether it runs on my laptop or in the scheduled production job, so a local run can overwrite a production table. That is obviously wrong and I would like to fix it before somebody does real damage.
I also want some models grouped into their own schemas — staging, marts, reporting — rather than everything landing in one flat namespace.
When I set a custom schema on a model it does not behave the way I expect: instead of using the name I gave, it produces a combination of my target schema and that name.
What is the intended design here, and how do I get sensible names in both environments?
@expensive_model_ed · yesterday
Worth adding: whatever convention you land on, make the target visible in the run output and in anything that reports on the project.
The worst version of this is somebody spending an afternoon confused about why their changes are not showing up, because they were building into one schema and querying another. It is invisible unless something tells you.
Most tooling will print the target at the start of a run. Get people in the habit of reading that line, and put the target in the name of any dashboard or notebook that reads from these tables.
Reply
Report