snowflake-cloud-data-platformsqitch

How to deploy snowflake DB with sqitch?


I'm new to sqitch. I'm trying to create a Jenkins pipeline to deploy snowflake using sqitch. So, I got sqitch and snowsql installed to my Ubuntu 18.04 LTS in Azure. I just:

  1. clone existing sqitch repository
.git
.gitignore
sqitch
    snowflake
        deploy
        revert
        sqitch
        sqitch.conf
        sqitch.plan


  1. modify the following config: $WORKSPACE/.snowsql/config
[connections]
accountname = acc_name
region = east-us-2.azure
username = user_name
private_key_path = "/path/rsa_key.p8"
authenticator = SNOWFLAKE_JWT 
  1. create sqitch config: $WORKSPACE/sqitch/snowflake/sqitch.conf
[core]
    engine = snowflake
[engine "snowflake"]
    target = dev
    client = snowsql
[target "dev"]
    uri = "db:snowflake://client.east-us-2.azure/DEV_DB?Driver=SnowflakeDSIIDriver;warehouse=DEV_WH;authenticator=SNOWFLAKE_JWT;UID=DEV;PRIV_KEY_FILE=/path/rsa_key.p8;PRIV_KEY_FILE_PWD=password;"

Then I try to run "sqitch verify" and get the following output:

Trace begun at /usr/share/perl5/App/Sqitch/Engine.pm line 116
App::Sqitch::Engine::load('App::Sqitch::Engine', 'HASH(0x55ba14ad8ce0)') called at /usr/share/perl5/App/Sqitch/Target.pm line 55
App::Sqitch::Target::__ANON__('App::Sqitch::Target=HASH(0x55ba14ad8470)') called at (eval 278) line 22
App::Sqitch::Target::engine('App::Sqitch::Target=HASH(0x55ba14ad8470)') called at /usr/share/perl5/App/Sqitch/Command/status.pm line 113
App::Sqitch::Command::status::execute(undef) called at /usr/share/perl5/App/Sqitch.pm line 205
App::Sqitch::try {...}  at /usr/share/perl5/Try/Tiny.pm line 100
eval {...} at /usr/share/perl5/Try/Tiny.pm line 93
Try::Tiny::try('CODE(0x55ba14acfb70)', 'Try::Tiny::Catch=REF(0x55ba15e7f2b0)') called at /usr/share/perl5/App/Sqitch.pm line 225
App::Sqitch::go('App::Sqitch') called at /usr/bin/sqitch line 14

What am I doing wrong? For me it looks like the system missing some packages or so. Sqitch was installed as follows:

sudo apt-get install sqitch libdbd-pg-perl libdbd-odbc-perl

Solution

  • Looks like I needed to do the following:

    sudo apt install cpanminus && cpanm App::Sqitch