schemachange icon indicating copy to clipboard operation
schemachange copied to clipboard

Support standardized configuration files

Open afeld opened this issue 5 months ago • 1 comments

Is your feature request related to a problem? Please describe.

My team uses a bunch of tools that connect to Snowflake. Unfortunately, their configuration file support is a bit all over the place:

Tool Supports schemachange-config.yml Supports config.toml Supports connections.toml
Schemachange Yes ? ?
Snowflake CLI Yes Yes
The Python Connector Yes Yes
The VSCode extension Yes
The Terraform provider Yes*

*It says "The Snowflake config file lives at ~/.snowflake/config and uses TOML format" - I haven't tested if ~/.snowflake/config.toml works as well.

This means that the configuration for each needs to be done separately, which was a hassle. (Less so now that it's all set up.)

Describe the solution you'd like

My ideal is that Snowflake as a company moves all their projects to standardized configuration files - presumably config.toml and connections.toml - with a canonical specification/documentation. I'm not sure where best to raise that idea so that the various project maintainers would see it.

Given this is the schemachange repository, my specific request is for schemachange to support those files. Given it uses the Python Connector under the hood, I suspect they might be supported already, but it's unclear to me how that plays with the schemachange-config.yml without digging through the code / doing a bunch of experimentation. If that's the case, I suppose the resolution would be an update to the README about how to use them.

Describe alternatives you've considered

Our workaround has been to specify the user-specific/sensitive configuration details in a .env file, then pass it through as environment variables by running our various commands (schemachange, terraform, etc.) through dotenv.

Additional context

none


Thanks!

afeld avatar Sep 10 '24 18:09 afeld