执行存储库中的文件

您可以使用 snow git execute 命令来处理存储库路径中的所有 .sql.py 文件。该命令会搜索所有 SQL 和 Python 文件,并对每个文件执行 EXECUTE IMMEDIATE 命令。

snow git execute <REPO_PATH> [--silent]
Copy

其中:

  • <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"
Copy
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
Copy
+---------------------------------------------------------------+
| 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  |
+---------------------------------------------------------------+
语言: 中文