Exécuter des fichiers à partir d’un référentiel

Vous pouvez utiliser la commande snow git execute pour tous les fichiers .sql et .py dans un chemin de référentiel. La commande recherche tous les fichiers SQL et Python, puis exécute la commande EXECUTE IMMEDIATE sur chacun d’eux.

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

où :

  • <REPO_PATH> peut être l’un des éléments suivants :

    • Une zone de préparation de référentiel, telle que @snowcli_git/branches/main/, pour exécuter des commandes à partir de tous les fichiers .sql de la zone de préparation.

    • Un modèle de type global, tel que @snowcli_git/branches/main/scripts/*, pour exécuter des commandes à partir de tous les fichiers .sql dans le répertoire scripts.

    • Un fichier .sql spécifique, tel que @snowcli_git/branches/main/scripts/script.sql, pour exécuter des commandes contenues uniquement dans le fichier script.sql.

  • --silent cache les messages intermédiaires avec les résultats de l’exécution du fichier.

Note

La commande snow git execute n’affiche pas la sortie des commandes SQL qu’elle traite.

L’exemple suivant montre comment exécuter les commandes SQL dans tous les fichiers du répertoire project qui correspondent à une expression régulière.

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

L’ajout de l’option --silent à la même commande permet de masquer les messages intermédiaires indiquant la progression des fichiers traités.

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