@@ -11,7 +11,7 @@ export APP_ENV="${4:-prod}"
11
11
# In the test environment, we need to use a different database
12
12
[ " $APP_ENV " = " prod" ] && DATABASE_NAME=domjudge || DATABASE_NAME=domjudge_test
13
13
14
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:- root }
14
+ MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:- mysql_root_password }
15
15
16
16
set -euxo pipefail
17
17
@@ -67,31 +67,29 @@ password=${MYSQL_ROOT_PASSWORD}
67
67
EOF
68
68
cat ~ /.my.cnf
69
69
70
- mysql_root " CREATE DATABASE IF NOT EXISTS \` $DATABASE_NAME \` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
71
- mysql_root " CREATE USER IF NOT EXISTS \` domjudge\` @'%' IDENTIFIED BY 'domjudge';"
72
- mysql_root " GRANT SELECT, INSERT, UPDATE, DELETE ON \` $DATABASE_NAME \` .* TO 'domjudge'@'%';"
73
- mysql_root " FLUSH PRIVILEGES;"
70
+ mysql_log " CREATE DATABASE IF NOT EXISTS \` $DATABASE_NAME \` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
71
+ mysql_log " CREATE USER IF NOT EXISTS \` domjudge\` @'%' IDENTIFIED BY 'domjudge';"
72
+ mysql_log " GRANT SELECT, INSERT, UPDATE, DELETE ON \` $DATABASE_NAME \` .* TO 'domjudge'@'%';"
73
+ mysql_log " FLUSH PRIVILEGES;"
74
+ echo " unused:sqlserver:$DATABASE_NAME :domjudge:domjudge:3306" > /opt/domjudge/domserver/etc/dbpasswords.secret
74
75
75
76
# Show some MySQL debugging
76
- mysql_root " show databases"
77
- mysql_root " SELECT CURRENT_USER();"
78
- mysql_root " SELECT USER();"
79
- mysql_root " SELECT user,host FROM mysql.user"
80
- mysql_root " SET GLOBAL max_allowed_packet=1073741824"
81
- mysql_root " SHOW GLOBAL STATUS LIKE 'Connection_errors_%'"
82
- mysql_root " SHOW VARIABLES LIKE '%_timeout'"
83
- echo " unused:sqlserver:$DATABASE_NAME :domjudge:domjudge:3306" > /opt/domjudge/domserver/etc/dbpasswords.secret
84
- mysql_user " SELECT CURRENT_USER();"
85
- mysql_user " SELECT USER();"
77
+ mysql_log " show databases"
78
+ mysql_log " SELECT CURRENT_USER();"
79
+ mysql_log " SELECT USER();"
80
+ mysql_log " SELECT user,host FROM mysql.user"
81
+ mysql_log " SET GLOBAL max_allowed_packet=1073741824"
82
+ mysql_log " SHOW GLOBAL STATUS LIKE 'Connection_errors_%'"
83
+ mysql_log " SHOW VARIABLES LIKE '%_timeout'"
86
84
section_end
87
85
88
86
if [ " ${db} " = " install" ]; then
89
87
section_start " Install DOMjudge database"
90
- /opt/domjudge/domserver/bin/dj_setup_database -uroot -p ${MYSQL_ROOT_PASSWORD} bare-install
88
+ /opt/domjudge/domserver/bin/dj_setup_database bare-install
91
89
section_end
92
90
elif [ " ${db} " = " upgrade" ]; then
93
91
section_start " Upgrade DOMjudge database"
94
- /opt/domjudge/domserver/bin/dj_setup_database -uroot -p ${MYSQL_ROOT_PASSWORD} upgrade
92
+ /opt/domjudge/domserver/bin/dj_setup_database upgrade
95
93
section_end
96
94
fi
97
95
@@ -131,31 +129,31 @@ if [ "${db}" = "install" ]; then
131
129
section_start " Install the example data"
132
130
if [ " $version " = " unit" ]; then
133
131
# Make sure admin has no team associated so we will not insert submissions during unit tests.
134
- mysql_root " UPDATE user SET teamid=null WHERE userid=1;" $DATABASE_NAME
132
+ mysql_log " UPDATE user SET teamid=null WHERE userid=1;" $DATABASE_NAME
135
133
fi
136
- /opt/domjudge/domserver/bin/dj_setup_database -uroot -p ${MYSQL_ROOT_PASSWORD} install-examples | tee -a " $ARTIFACTS /mysql.txt"
134
+ /opt/domjudge/domserver/bin/dj_setup_database install-examples | tee -a " $ARTIFACTS /mysql.txt"
137
135
section_end
138
136
fi
139
137
140
138
section_start " Setup user"
141
139
# We're using the admin user in all possible roles
142
- mysql_root " DELETE FROM userrole WHERE userid=1;" $DATABASE_NAME
140
+ mysql_log " DELETE FROM userrole WHERE userid=1;" $DATABASE_NAME
143
141
if [ " $version " = " team" ]; then
144
142
# Add team to admin user
145
- mysql_root " INSERT INTO userrole (userid, roleid) VALUES (1, 3);" $DATABASE_NAME
146
- mysql_root " UPDATE user SET teamid = 1 WHERE userid = 1;" $DATABASE_NAME
143
+ mysql_log " INSERT INTO userrole (userid, roleid) VALUES (1, 3);" $DATABASE_NAME
144
+ mysql_log " UPDATE user SET teamid = 1 WHERE userid = 1;" $DATABASE_NAME
147
145
elif [ " $version " = " jury" ]; then
148
146
# Add jury to admin user
149
- mysql_root " INSERT INTO userrole (userid, roleid) VALUES (1, 2);" $DATABASE_NAME
147
+ mysql_log " INSERT INTO userrole (userid, roleid) VALUES (1, 2);" $DATABASE_NAME
150
148
elif [ " $version " = " balloon" ]; then
151
149
# Add balloon to admin user
152
- mysql_root " INSERT INTO userrole (userid, roleid) VALUES (1, 4);" $DATABASE_NAME
150
+ mysql_log " INSERT INTO userrole (userid, roleid) VALUES (1, 4);" $DATABASE_NAME
153
151
elif [ " $version " = " admin" ]; then
154
152
# Add admin to admin user
155
- mysql_root " INSERT INTO userrole (userid, roleid) VALUES (1, 1);" $DATABASE_NAME
153
+ mysql_log " INSERT INTO userrole (userid, roleid) VALUES (1, 1);" $DATABASE_NAME
156
154
elif [ " $version " = " all" ] || [ " $version " = " unit" ]; then
157
- mysql_root " INSERT INTO userrole (userid, roleid) VALUES (1, 1);" $DATABASE_NAME
158
- mysql_root " INSERT INTO userrole (userid, roleid) VALUES (1, 3);" $DATABASE_NAME
159
- mysql_root " UPDATE user SET teamid = 1 WHERE userid = 1;" $DATABASE_NAME
155
+ mysql_log " INSERT INTO userrole (userid, roleid) VALUES (1, 1);" $DATABASE_NAME
156
+ mysql_log " INSERT INTO userrole (userid, roleid) VALUES (1, 3);" $DATABASE_NAME
157
+ mysql_log " UPDATE user SET teamid = 1 WHERE userid = 1;" $DATABASE_NAME
160
158
fi
161
159
section_end
0 commit comments