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