ðŸšĐGetting started

System requirements

Hand-on example

It will take about 10 minutes.

1) Install SnowDDL.

pip install snowddl

2) Create a new Snowflake Trial Account or create a new account within your organization.

Do NOT use existing production account with real data to test object management tools.

3) Create administration user for SnowDDL. Replace <password> placeholder with randomly generated password of your choice.

USE ROLE ACCOUNTADMIN;

CREATE ROLE SNOWDDL_ADMIN;

GRANT ROLE SYSADMIN TO ROLE SNOWDDL_ADMIN;
GRANT ROLE SECURITYADMIN TO ROLE SNOWDDL_ADMIN;

CREATE USER SNOWDDL
PASSWORD = '<password>'
DEFAULT_ROLE = SNOWDDL_ADMIN;

GRANT ROLE SNOWDDL_ADMIN TO USER SNOWDDL;
GRANT ROLE SNOWDDL_ADMIN TO ROLE ACCOUNTADMIN;

4) Apply first version of sample config (provided with SnowDDL installation). Replace <account_identifier> placeholder with Snowflake account identifier.

snowddl \
-c sample01_01 \
-a <account_identifier> \
-u snowddl \
-p <password> \
--apply-unsafe \
apply

Check database SNOWDDL_DB in Snowflake account. Check list of warehouses and roles.

5) Apply second version of sample config (provided with SnowDDL installation).

snowddl \
-c sample01_02 \
-a <account_identifier> \
-u snowddl \
-p <password> \
--apply-unsafe \
apply

Check logs. Some objects will be altered, some objects will be dropped.

6) Reset Snowflake account to the original state. All objects created earlier will be dropped.

snowddl \
-c sample01_02 \
-a <account_identifier> \
-u snowddl \
-p <password> \
--apply-unsafe \
--destroy-without-prefix \
destroy

Congratulations!

Now you are ready to create your own config and start experimenting.

Last updated