cashless2ecash

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

migrate.sh (1871B)


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