automate snowDDL #37
-
Hi, Thanks |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 3 replies
-
In my opinion, running SnowDDL from CLI is likely the best and the safest way to use it. I'll explain why. Snowflake is a cloud DWH. Unlike traditional "on-premises" DWH, as a customer you have no control over Snowflake version updates. It is possible for Snowflake to release an update with bug or incompatible behaviour change. It may affect schema management tools and cause unintended consequences. Also, Snowflake does not support transactions for DDL changes. It is possible to get stuck in between of "old" and "new" state. The most reasonable release workflow seems to be the following:
If you want to go with further automation and add GitHub actions + review, it should be relatively easy to implement. Just take the output of However, with this approach you open the possibility for a few issues:
In my opinion, it is much safer to keep using CLI at least until Snowflake introduces transactional DDL. Otherwise the automation will break something eventually. It applies to Terraform as well. |
Beta Was this translation helpful? Give feedback.
In my opinion, running SnowDDL from CLI is likely the best and the safest way to use it. I'll explain why.
Snowflake is a cloud DWH. Unlike traditional "on-premises" DWH, as a customer you have no control over Snowflake version updates. It is possible for Snowflake to release an update with bug or incompatible behaviour change. It may affect schema management tools and cause unintended consequences.
Also, Snowflake does not support transactions for DDL changes. It is possible to get stuck in between of "old" and "new" state.
The most reasonable release workflow seems to be the following:
snowddl apply
, but do not add--apply-unsafe
. Only "safe" changes will be applied automatically.…