From f4170a0f1b08a988cf6edf1fd765681f07d4e853 Mon Sep 17 00:00:00 2001
From: Riccardo Boero <ribo@nilu.no>
Date: Fri, 11 Oct 2024 12:07:36 +0000
Subject: [PATCH] Update gen_data.sh

---
 gen_data.sh | 37 ++++++++++++++++++++++---------------
 1 file changed, 22 insertions(+), 15 deletions(-)

diff --git a/gen_data.sh b/gen_data.sh
index 6e24bfa..02b6202 100755
--- a/gen_data.sh
+++ b/gen_data.sh
@@ -2,14 +2,14 @@
 
 # Function to display help
 function show_help() {
-    echo "Usage: $0 <host> <user> <password>"
+    echo "Usage: $0 [<host> <user> <password>]"
     echo ""
     echo "This script sets up the database and loads the data."
     echo ""
-    echo "Arguments:"
-    echo "  host       Database host"
-    echo "  user       Database user"
-    echo "  password   Database password"
+    echo "Arguments (optional if environment variables are set):"
+    echo "  host       Database host (or set DB_HOST)"
+    echo "  user       Database user (or set DB_USER)"
+    echo "  password   Database password (or set DB_PASSWORD)"
 }
 
 # Check if help is requested
@@ -18,18 +18,25 @@ if [[ "$1" == "-h" || "$1" == "--help" ]]; then
     exit 0
 fi
 
-# Check if all three parameters are provided
-if [[ $# -ne 3 ]]; then
-    echo "Error: Missing arguments."
-    show_help
-    exit 1
+# Check if all three arguments are provided or fallback to environment variables
+if [[ $# -eq 3 ]]; then
+    HOST=$1
+    USER=$2
+    PASSWORD=$3
+else
+    # Check for environment variables
+    HOST=${DB_HOST}
+    USER=${DB_USER}
+    PASSWORD=${DB_PASSWORD}
+    
+    # If either arguments or environment variables are missing, display help
+    if [[ -z "$HOST" || -z "$USER" || -z "$PASSWORD" ]]; then
+        echo "Error: Missing arguments or environment variables."
+        show_help
+        exit 1
+    fi
 fi
 
-# Assign parameters to variables
-HOST=$1
-USER=$2
-PASSWORD=$3
-
 # create database
 ./inputs/setup_db.sh "$HOST" "$USER" "$PASSWORD"
 
-- 
GitLab