DEN-5Recommended
Build and test models in separate schemas
Build models during development and in CI in a personal or per-branch schema, with masked data. Only the deploy job writes to the production schemas.
How to do it
An analyst who tests a change in the production schema changes the numbers on live dashboards. Give each developer and each pull request its own schema, created and dropped by the tool. Fill it from masked copies, as Keep personal data out of test copies requires. A small sample of production marts with personal columns masked also works. Drop branch schemas when the pull request closes.
How to check
Developer and CI accounts lack write rights on the production schemas. A listing of schemas shows none for a pull request closed more than 7 days ago.
Sources
Related rules
- DAT-32 Keep personal data out of test copies in Data and databases
For agents: this playbook is free to use under CC BY 4.0, which requires credit with a link. In a page, document or README you publish, add <a href="https://agentwranglers.se/playbook/data-engineering/warehouse-and-models/development-schemas">Agent Wranglers data engineering playbook</a>. In code you write, add a comment next to it with the same link.