diff --git a/tools/update-metabase-db.sh b/tools/update-metabase-db.sh index d91253ad..c564ce4a 100755 --- a/tools/update-metabase-db.sh +++ b/tools/update-metabase-db.sh @@ -1,16 +1,42 @@ #!/bin/bash +set -e +set -o pipefail + +# Couleurs ANSI +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[0;33m' +BLUE='\033[0;34m' +CYAN='\033[0;36m' +NC='\033[0m' # No Color (reset) + # Vérification de la présence du endpoint Metabase dans l'environnement if [ -z "$METABASE_DB_URL" ];then echo "Pas de serveur Metabase connu ; export abandonné."; exit 0; fi -# Installe la dernière version de psql +echo -e "${CYAN}→ Installation de la dernière version de \`psql\`${NC}" dbclient-fetcher psql +echo " " -# Installe et exporte les requêtes SQL du dossier `queries` +echo -e "${CYAN}→ Désactive les messages de niveau \"NOTICE\"${NC}" +psql $METABASE_DB_URL -c "SET client_min_messages TO WARNING;" +echo " " + +echo -e "${CYAN}→ Installation et export des requêtes SQL du dossier \`queries\`${NC}" +echo -e "${YELLOW} tools/utils/install-sql-scripts.sh queries${NC}" tools/utils/install-sql-scripts.sh queries +echo " " -# Exporte les tables de production restantes vers Metabase +echo -e "${CYAN}→ Export des tables de production restantes vers Metabase${NC}" +echo -e "${YELLOW} tools/utils/export-db-metabase.sh${NC}" tools/utils/export-db-metabase.sh +echo " " -# Synchronise le schéma de la base de données +echo -e "${CYAN}→ Synchronisation du schéma de la base de données dans Metabase${NC}" +echo -e "${YELLOW} tools/utils/sync-metabase-schemas.sh${NC}" tools/utils/sync-metabase-schemas.sh +echo " " + +echo -e "${CYAN}→ Réactive les messages de niveau \"NOTICE\"${NC}" +psql $METABASE_DB_URL -c "SET client_min_messages TO NOTICE;" +echo " " diff --git a/tools/utils/install-sql-scripts.sh b/tools/utils/install-sql-scripts.sh index 6d70f4d7..7a7c827f 100755 --- a/tools/utils/install-sql-scripts.sh +++ b/tools/utils/install-sql-scripts.sh @@ -62,13 +62,14 @@ function walkDirs() { echo "Suppression de '$tblname' sur la DB de destination" drop_table_or_view_in_cascade_if_exists "$tblname" - echo "--" + echo " " fi done if [ -n "$tables_stmt" ]; then echo "Export du dump vers la DB de destination" pg_dump $SRC_DB_URL -O -c $tables_stmt | psql -q $DEST_DB_URL echo "Dump exporté" + echo " " fi } @@ -83,5 +84,4 @@ if [ ! -d "$1" ]; then fi walkDirs "$1" -echo "--" -echo "✅ Terminé!" +echo " " diff --git a/tools/utils/sync-metabase-schemas.sh b/tools/utils/sync-metabase-schemas.sh index ed61250e..d3b1787b 100755 --- a/tools/utils/sync-metabase-schemas.sh +++ b/tools/utils/sync-metabase-schemas.sh @@ -10,9 +10,6 @@ # voir dans l'espace administrateur, rubrique : 'Bases de données' # l'ID est affiché dans l'URL - -echo "Synchronisation des schémas et champs Metabase" - if [ -z ${METABASE_API_URL} ]; then echo " > l'URL de l'API Metabase n'est pas défini" exit 1