snow git execute¶
Execute immediate all files from the repository path. Files can be filtered with glob like pattern,
e.g. @my_repo/branches/main/*.sql
, @my_repo/branches/main/dev/*
. Only files with .sql
extension will be executed.
Syntax¶
snow git execute
<repository_path>
--on-error <on_error>
--variable <variables>
--connection <connection>
--account <account>
--user <user>
--password <password>
--authenticator <authenticator>
--private-key-path <private_key_path>
--database <database>
--schema <schema>
--role <role>
--warehouse <warehouse>
--temporary-connection
--mfa-passcode <mfa_passcode>
--enable-diag
--diag-log-path <diag_log_path>
--diag-allowlist-path <diag_allowlist_path>
--format <format>
--verbose
--debug
--silent
Arguments¶
repository_path
Path to git repository stage with scope provided. Path to the repository root must end with ‘/’. For example: @my_repo/branches/main/.
Options¶
--on-error [break|continue]
What to do when an error occurs. Defaults to break.
--variable, -D TEXT
Variables for the template. For example:
-D "<key>=<value>"
, string values must be in''
.--connection, -c, --environment TEXT
Name of the connection, as defined in your
config.toml
. Default:default
.--account, --accountname TEXT
Name assigned to your Snowflake account. Overrides the value specified for the connection.
--user, --username TEXT
Username to connect to Snowflake. Overrides the value specified for the connection.
--password TEXT
Snowflake password. Overrides the value specified for the connection.
--authenticator TEXT
Snowflake authenticator. Overrides the value specified for the connection.
--private-key-path TEXT
Snowflake private key path. Overrides the value specified for the connection.
--database, --dbname TEXT
Database to use. Overrides the value specified for the connection.
--schema, --schemaname TEXT
Database schema to use. Overrides the value specified for the connection.
--role, --rolename TEXT
Role to use. Overrides the value specified for the connection.
--warehouse TEXT
Warehouse to use. Overrides the value specified for the connection.
--temporary-connection, -x
Uses connection defined with command line parameters, instead of one defined in config.
--mfa-passcode TEXT
Token to use for multi-factor authentication (MFA).
--enable-diag
Run python connector diagnostic test.
--diag-log-path TEXT
Diagnostic report path.
--diag-allowlist-path TEXT
Diagnostic report path to optional allowlist.
--format [TABLE|JSON]
Specifies the output format.
--verbose, -v
Displays log entries for log levels
info
and higher.--debug
Displays log entries for log levels
debug
and higher; debug logs contains additional information.--silent
Turns off intermediate output to console.
--help
Displays the help text for this command.
Usage notes¶
You can use glob-like patterns to filter the files, such as @my_repo/branches/main/*.sql
and @my_repo/branches/main/dev/*
. The command only executes files with a .sql
extension.
When using Jinja templates for the SQL files, you can pass template variables using -D
or (--variable)
option, such as -D "<key>=<value>"
. You must enclose string values in single quotes (''
).
Examples¶
The following example shows how to execute SQL commands in all files within the project
directory that match a regular expression.
snow git execute "@git_test/branches/main/projects/script?.sql"
SUCCESS - git_test/branches/main/projects/script1.sql
SUCCESS - git_test/branches/main/projects/script2.sql
SUCCESS - git_test/branches/main/projects/script3.sql
+---------------------------------------------------------------+
| File | Status | Error |
|---------------------------------------------+---------+-------|
| git_test/branches/main/projects/script1.sql | SUCCESS | None |
| git_test/branches/main/projects/script2.sql | SUCCESS | None |
| git_test/branches/main/projects/script3.sql | SUCCESS | None |
+---------------------------------------------------------------+