0
votes

We started using Snowflake data warehouse in our project recently and encountered an issue. The table and view creation scripts were uploaded to Git repo and executed through Jenkins. For any updation (columns addition or deletion) of the tables creation scripts in snowflake, We had to drop and recreate the tables in snowflake. This is causing data loss from tables which is undesirable.

Every time we drop and recreate the tables, data is getting lost and we had to manually load all the data to newly created tables. This is both time consuming and causing unwanted down time. Our table creation scripts are generic for all environments and were previously designed for HIVE. The same were extended to snowflake and we are facing issues only during any schema changes to the main snowflake tables.

The ALTER command is also not solving our problem when we add new columns to tables. I am looking for any tool or process which can deploy the changes to tables or can modify the tables without deleting the underlying data.

I considered Oracle SQL developer data modeler (SDDM) after going through Snowflake documentation but I couldn't find any proper method to change the already created tables. All I found was how to connect to snowflake form the tool and do an import from there. Couple other tools like Sqitch and Dataedo were mentioned in the chain of snowflake documentation but they donot seem to meet my requirement.

The link to snowflake documentation community is as below. https://snowflakecommunity.force.com/s/question/0D50Z00007v6qQbSAI/what-schema-management-tools-are-there-for-snowflake

Could anyone please suggest any tools or process to solve my issue. thanks in advance

1
Snowflake supports column additions and deletions with ALTER. Can you give an example of why ALTER is not working for you ? In general, a more detailed description of the kind of changes you're making that you have issues with could help to provide the answer.Marcin Zukowski

1 Answers

2
votes

Assuming that you want to automate the creation of Snowflake Alter Table statements, you might want to look at FlywayDB. It supports capturing DDL changes for Snowflake with both a free and paid version. It was made by Redgate which has a long history of SQL Server schema comparisons and migrations.