执行存储库中的文件¶
备注
Snowflake CLI 不支持执行 Python 3.12 及以上版本的 Python 文件。
您可以使用 snow git execute 命令来处理存储库路径中的所有 .sql 和 .py 文件。该命令会搜索所有 SQL 和 Python 文件,并对每个文件执行 EXECUTE IMMEDIATE 命令。
snow git execute <REPO_PATH> [--silent]
其中:
<REPO_PATH>可以是以下任意一项:存储库暂存区,例如
@snowcli_git/branches/main/,用于执行该暂存区中所有.sql文件的命令。类 glob 模式,例如
@snowcli_git/branches/main/scripts/*,用于执行scripts目录中的所有.sql文件的命令。特定
.sql文件,例如@snowcli_git/branches/main/scripts/script.sql,用于执行仅包含script.sql文件的命令。
--silent会隐藏文件执行结果的中间信息。
备注
snow git execute 命令不显示其处理的任何 SQL 命令的输出。
下面的示例显示了如何在 project 目录下与正则表达式匹配的所有文件中执行 SQL 命令。
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 |
+---------------------------------------------------------------+
在同一命令中添加 --silent 选项会隐藏已处理文件进度的中间消息。
snow git execute "@git_test/branches/main/projects/script?.sql" --silent
+---------------------------------------------------------------+
| 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 |
+---------------------------------------------------------------+