47 lines
1.6 KiB
Bash
47 lines
1.6 KiB
Bash
#! /bin/bash
|
|
|
|
if [[ $1 == "test" ]]
|
|
then
|
|
PSQL="psql --username=postgres --dbname=worldcuptest -t --no-align -c"
|
|
else
|
|
PSQL="psql --username=freecodecamp --dbname=worldcup -t --no-align -c"
|
|
fi
|
|
|
|
# Do not change code above this line. Use the PSQL variable above to query your database.
|
|
|
|
echo $($PSQL "TRUNCATE teams,games")
|
|
|
|
cat games.csv | while IFS="," read year round winner opponent winner_goals opponent_goals; do
|
|
|
|
if [[ $year == "year" ]]; then
|
|
continue
|
|
fi
|
|
|
|
# Check if winner exists
|
|
WINNER_CHECK=$($PSQL "SELECT team_id FROM teams WHERE name = '$winner'")
|
|
if [[ -z $WINNER_CHECK ]]; then
|
|
INSERT_WINNER_RESULT=$($PSQL "INSERT INTO teams(name) VALUES('$winner')")
|
|
if [[ $INSERT_WINNER_RESULT == "INSERT 0 1" ]]; then
|
|
echo "Inserted $winner into teams"
|
|
fi
|
|
fi
|
|
|
|
# Check if opponent exists
|
|
OPPONENT_CHECK=$($PSQL "SELECT team_id FROM teams WHERE name = '$opponent'")
|
|
if [[ -z $OPPONENT_CHECK ]]; then
|
|
INSERT_OPPONENT_RESULT=$($PSQL "INSERT INTO teams(name) VALUES('$opponent')")
|
|
if [[ $INSERT_OPPONENT_RESULT == "INSERT 0 1" ]]; then
|
|
echo "Inserted $opponent into teams"
|
|
fi
|
|
fi
|
|
|
|
WINNER_ID=$($PSQL "SELECT team_id FROM teams WHERE name = '$winner'")
|
|
OPPONENT_ID=$($PSQL "SELECT team_id FROM teams WHERE name = '$opponent'")
|
|
|
|
INSERT_GAME_RESULT=$($PSQL "INSERT INTO games(winner_id, opponent_id, winner_goals, opponent_goals, year, round) VALUES ($WINNER_ID, $OPPONENT_ID, $winner_goals, $opponent_goals, $year, '$round')")
|
|
if [[ $INSERT_GAME_RESULT == "INSERT 0 1" ]]; then
|
|
echo "Inserted $year $round: $winner $winner_goals - $opponent_goals $opponent into games"
|
|
else
|
|
echo $INSERT_GAME_RESULT
|
|
fi
|
|
done |