-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcult_psql.sh
executable file
·71 lines (61 loc) · 1.74 KB
/
cult_psql.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/bin/bash
if [ $# -eq 0 ]; then
MYDATABASE="cult"
else
MYDATABASE=$1
fi
echo "Creating $MYDATABASE"
# Lesgo
dropdb $MYDATABASE
createdb $MYDATABASE
# Create classes table
psql -c "CREATE TABLE classes (
id SERIAL,
epoch_time INTEGER,
class_id INTEGER,
class_date CHARACTER VARYING(10),
center_id INTEGER,
workout_id INTEGER,
seats INTEGER,
startTime CHARACTER VARYING(8),
endTime CHARACTER VARYING(8),
formattedStartTime CHARACTER VARYING(7),
formattedEndTime CHARACTER VARYING(7),
isActive BOOLEAN,
bookingNumber CHARACTER VARYING(15),
version INTEGER,
time_stamp TIMESTAMP WITH TIME ZONE
);" $MYDATABASE
# Populate using matches CSVs
for x in $(ls logs/cult_classes_*.csv);
do
echo "Copying $x"
psql -c "\COPY classes(
epoch_time,
class_id,
class_date,
center_id,
workout_id,
seats,
startTime,
endTime,
formattedStartTime,
formattedEndTime,
isActive,
bookingNumber,
version)
FROM '$x' DELIMITER ',' CSV;" $MYDATABASE
done;
# Set match_date using tourney_date string
psql -c "UPDATE classes SET time_stamp=to_timestamp(epoch_time);" $MYDATABASE
echo "Classes Imported."
# Create players table
psql -c "CREATE TABLE workouts (
id INTEGER,
name CHARACTER VARYING(20),
status CHARACTER VARYING(20),
colour CHARACTER VARYING(20)
);" $MYDATABASE
psql -c "\COPY workouts(id, name, status, colour) FROM 'logs/cult_workouts.csv' DELIMITER ',' CSV;" $MYDATABASE
echo "Workouts Imported."
echo "All done."