Team workflow

This page will be updated with more detailed information soon. Please stay tuned!

The intended setup and workflow for data engineering team using SnowDDL is the following:

  1. Create a separate Snowflake account for development purposes. You may do it using CREATE ACCOUNT and "organizations" feature.

  2. Create an initial SnowDDL configuration, keep it in Git or another version control system.

  3. When developer starts to work on new ticket, he or she creates a new branch, pulls config with latest changes and creates a separate "environment" in DEV Snowflake account using SnowDDL with env prefix. "Environment" can be destroyed and fully re-created at any moment.

  4. When developer finishes coding, he or she pushes the code and sends it for review. Reviewer validates changes in config and approves or declines it.

  5. All approved branches are merged into single "release" branch and automatically tested in a separate "environment" on the same DEV Snowflake account. This step is necessary to make sure that changes from multiple different branches are compatible with each other.

  6. If "release" branch test was successful, config can now be deployed to production. SnowDDL should apply config to PROD Snowflake account without env prefix.

  7. "Safe" changes are applied automatically. "Unsafe" changes are reviewed by release engineer once again and applied manually.


This workflow provides the robust, flexible and controlled release cycle. Developers have their own personal copy of DEV environment. Release branches are always tested before deployment. The process of rolling out config changes is as "safe" or "unsafe" as you want it to be.

Last updated