Snowflex - a Snowflake library with an Ecto Adapter

Not long ago we released the 1.0 release of Snowflake which moved us off of ODBC(which is unmaintained in OTP) and onto the Snowflake HTTP api. This release is fully Ecto/DBConnection compatible and can run tests locally using sqlite. It should be much easier to install and run than older versions which required ODBC drivers.

This adapter implements the following Ecto behaviours:

  • Ecto.Adapter - Core adapter functionality
  • Ecto.Adapter.Queryable - Query execution and streaming
  • Ecto.Adapter.Schema - Schema operations (insert, update, delete)

Requirements

If using the provided Snowflex.Transport.Http transport, the only currently supported authentication method is keypair.

In order to obtain the public_key_fingerprint, please follow Snowflake’s instructions.

5 Likes

I poked around a bit and this looks like very nice work. There is something really funny to me about seeing “Copyright PepsiCo” on an Elixir library :slight_smile: Thanks for contributing back!

BTW, you might want to tag your recent releases on the repo as at first glance it looks like there hasn’t been a release for a long time even though there have been several.

1 Like

Yeah we should probably tag releases again. For a while I didn’t think anyone outside of our teams were using it, but the other two Snowflake libraries were abandoned so I thought it would be good to let people know this exists and is used in anger.

2 Likes

Just popped off a new github release.

Hey @ChaseGilliam

Thank you for building this library and making it available. Is there any tutorial how to set it up in a way that I could connect to Snowflake, use Ecto to build select queries and run tests either using Postgresql or SQLite?

Cheers,

Lukasz

1 Like

Right now, just what’s in the README for config and testing. The docs here may also be helpful.

1 Like