Ausführen von Dateien aus einem Repository

Bemerkung

Snowflake CLI unterstützt die Ausführung von Python-Dateien für Python-Versionen 3.12 und höher nicht.

Sie können den Befehl snow git execute für alle Dateien .sql und .py in einem Pfad zum Repository verwenden. Der Befehl sucht nach allen SQL- und Python-Dateien und führt dann den EXECUTE IMMEDIATE-Befehl für jede dieser Dateien aus.

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

Wobei:

  • <REPO_PATH> kann Folgendes sein:

    • Ein Repository-Stagingbereich wie @snowcli_git/branches/main/, um Befehle aus allen .sql-Dateien im Stagingbereich auszuführen.

    • Ein glob-ähnliches Muster wie @snowcli_git/branches/main/scripts/*, um Befehle aus allen .sql-Dateien im Verzeichnis scripts auszuführen.

    • Eine bestimmte Datei .sql, z. B. @snowcli_git/branches/main/scripts/script.sql, um Befehle auszuführen, die nur in der script.sql-Datei enthalten sind.

  • --silent verbirgt Zwischenmeldungen mit den Ergebnissen der Dateiausführung.

Bemerkung

Der Befehl snow git execute zeigt nicht die Ausgaben der SQL-Befehle an, die er verarbeitet.

Das folgende Beispiel zeigt, wie Sie die SQL-Befehle in allen Dateien innerhalb des project-Verzeichnisses ausführen, die mit einem regulären Ausdruck übereinstimmen.

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  |
+---------------------------------------------------------------+

Wenn Sie demselben Befehl die Option --silent hinzufügen, werden die Zwischenmeldungen, die den Verlauf der verarbeiteten Dateien anzeigen, ausgeblendet.

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  |
+---------------------------------------------------------------+