cashless2ecash

cashless2ecash: pay with cards for digital cash (experimental)
Log | Files | Refs | README

setup_db.sh (1765B)


      1 #!/bin/bash
      2 
      3 if [ "$#" -ne 7 ]; then
      4     echo "Usage: $0 <db-username> <db-password> <db-name> <source-root> <new-db-admin-pw> <new-db-operator-pw> <new-db-api-pw>"
      5     exit 1
      6 fi
      7 
      8 if [[ ($5 = $6) || ($6 = $7) || ($5 = $7) ]]; then
      9     echo "PROBLEM: passwords for db admin, operator and must be different..."
     10     echo "Usage: $0 <db-username> <db-password> <db-name> <source-root> <new-db-admin-pw> <new-db-admin-pw> <new-db-admin-pw>"
     11     exit 1
     12 fi
     13 
     14 DB_USERNAME=$1
     15 DB_PASSWORD=$2
     16 DB_NAME=$3
     17 REPO_ROOT=$4
     18 
     19 ADMIN_PASSWORD=$5
     20 OPERATOR_PASSWORD=$6
     21 API_PASSWORD=$7
     22 
     23 ACCESS_WITHOUT_PASSWORD="$REPO_ROOT/db/access.sql"
     24 ACCESS_WITH_PASSWORDS="$REPO_ROOT/db/access-with-passwords.sql"
     25 
     26 cp $ACCESS_WITHOUT_PASSWORD $ACCESS_WITH_PASSWORDS
     27 
     28 sed -i "s/ADMIN_PASSWORD/$ADMIN_PASSWORD/g" $ACCESS_WITH_PASSWORDS
     29 sed -i "s/OPERATOR_PASSWORD/$OPERATOR_PASSWORD/g" $ACCESS_WITH_PASSWORDS
     30 sed -i "s/API_PASSWORD/$API_PASSWORD/g" $ACCESS_WITH_PASSWORDS
     31 sed -i "s/DB_NAME/$DB_NAME/g" $ACCESS_WITH_PASSWORDS
     32 
     33 SQL_SCRIPTS=(
     34     "$REPO_ROOT/db/versioning.sql"
     35     "$REPO_ROOT/db/0001-c2ec_schema.sql"    
     36     "$REPO_ROOT/db/proc-c2ec_status_listener.sql"
     37     "$REPO_ROOT/db/proc-c2ec_payment_notification_listener.sql"
     38     "$REPO_ROOT/db/proc-c2ec_retry_listener.sql"
     39     "$REPO_ROOT/db/proc-c2ec_transfer_listener.sql"
     40     "$REPO_ROOT/db/access-with-passwords.sql"
     41 )
     42 
     43 execute_sql_scripts() {
     44     for script in "${SQL_SCRIPTS[@]}"; do
     45         echo "Executing SQL script: $script"
     46         PGPASSWORD=$DB_PASSWORD psql -U $DB_USERNAME -d $DB_NAME -f $script
     47         if [ $? -ne 0 ]; then
     48             echo "Failed to execute SQL script: $script"
     49             exit 1
     50         fi
     51     done
     52     PGPASSWORD=""
     53     rm $ACCESS_WITH_PASSWORDS
     54 }
     55 
     56 execute_sql_scripts
     57 if [ $? -ne 0 ]; then
     58     exit 1
     59 fi