Future of Devops with Snowflake — Database Change Management

Snowflake Wiki
3 min readDec 17, 2023

Database change management (DCM) is the practice of defining all database objects in code, in a Git repository, and then deploying those objects, including changes to those objects, to a database with the help of a dedicated tool. As a result object management can be integrated into automated development and release processes.

Snowflake has showcased features during [BUILD] — The Dev Conference for AI & Apps, that make DevOps possible on Core SQL-focused objects.

1) Git Integration — Build collaboratively with native Git Integration

~ View, run, edit, and collaborate within Snowflake with assets that exist in a git repo.
~ Integrate with source control to allow for collaboration, source code integration, and maintaining a single ‘source of truth’ for team artifacts.

*It’s currently in PrPr

2) EXECUTE IMMEDIATE FROM — Run scripts directly from your GIT repository or stage

~ Snowflake will execute your SQL scripts directly from your Git repo (or stage) without needing an external tool (or CLI).
~ It enables the possibility of Database Change Management for managing your Snowflake objects in code.

*It’s currently in PuPr and soon going to be GA

Do check here and try out now how to execute the SQL statements specified in a file in a stage — https://medium.com/@snowflakewiki/execute-sql-statements-from-file-in-snowflake-the-complete-guide-99f0085172ad

3) CREATE OR ALTER— Snowflake’s declarative database change management capability

~ Manage your DDL scripts in source control and let Snowflake do all the heavy lifting of changing your database objects.
~ No complex third-party tools to manage, and no need to worry about state of files (being stateless).

*It’s currently in PrPr and soon going to be in PuPr

4) Snowflake CLI — Open source command line interface designed for Snowflake

~ Enables simple commands to create, manage, update, and view apps running on Snowflake across app-centric workloads.
~ Easier and more efficient development with automation and building CI/CD flows.

It’s currently in PrPr and soon to be in PuPr

Snowflake CLI would be expanding on the existing SnowSQL (the command line client for connecting to Snowflake to execute SQL queries and perform all DDL and DML operations, including loading data into and unloading data out of database tables) to interact with other Snowflake services like Snowpark, Streamlit & Snowflake Native Apps.

Using the 4 features mentioned together, Snowflake would be making DevOps possible on Core SQL-focused objects.

References:

https://www.snowflake.com/build/asia/

Follow and Clap if you like the content and feel free to ask if you have any questions in the comments. I will be more than happy to assist and guide you.

--

--

Snowflake Wiki

Snowflake Basics | Features | New releases | Tricks & Tips | SnowPro Certifications | Solutions | Knowledge Sharing | ~~~ By satitiru (Snowflake DataSuperHero)