@@ -11,8 +11,6 @@ export APP_ENV="${4:-prod}"
1111# In the test environment, we need to use a different database
1212[ " $APP_ENV " = " prod" ] && DATABASE_NAME=domjudge || DATABASE_NAME=domjudge_test
1313
14- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:- root}
15-
1614set -euxo pipefail
1715
1816if [ -z " $phpversion " ]; then
7472cat ~ /.my.cnf
7573
7674# TODO: Remove after fixing https://github.com/DOMjudge/domjudge/issues/2848
77- mysql_root " SET GLOBAL innodb_snapshot_isolation = OFF;"
75+ mysql_log " SET GLOBAL innodb_snapshot_isolation = OFF;"
7876
79- mysql_root " CREATE DATABASE IF NOT EXISTS \` $DATABASE_NAME \` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
80- mysql_root " CREATE USER IF NOT EXISTS \` domjudge\` @'%' IDENTIFIED BY 'domjudge';"
81- mysql_root " GRANT SELECT, INSERT, UPDATE, DELETE ON \` $DATABASE_NAME \` .* TO 'domjudge'@'%';"
82- mysql_root " FLUSH PRIVILEGES;"
77+ mysql_log " CREATE DATABASE IF NOT EXISTS \` $DATABASE_NAME \` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
78+ mysql_log " CREATE USER IF NOT EXISTS \` domjudge\` @'%' IDENTIFIED BY 'domjudge';"
79+ mysql_log " GRANT SELECT, INSERT, UPDATE, DELETE ON \` $DATABASE_NAME \` .* TO 'domjudge'@'%';"
80+ mysql_log " FLUSH PRIVILEGES;"
81+ echo " unused:sqlserver:$DATABASE_NAME :domjudge:domjudge:3306" > /opt/domjudge/domserver/etc/dbpasswords.secret
8382
8483# Show some MySQL debugging
85- mysql_root " show databases"
86- mysql_root " SELECT CURRENT_USER();"
87- mysql_root " SELECT USER();"
88- mysql_root " SELECT user,host FROM mysql.user"
89- mysql_root " SET GLOBAL max_allowed_packet=1073741824"
90- mysql_root " SHOW GLOBAL STATUS LIKE 'Connection_errors_%'"
91- mysql_root " SHOW VARIABLES LIKE 'innodb_snapshot_isolation'"
92- mysql_root " SHOW VARIABLES LIKE '%_timeout'"
93- echo " unused:sqlserver:$DATABASE_NAME :domjudge:domjudge:3306" > /opt/domjudge/domserver/etc/dbpasswords.secret
94- mysql_user " SELECT CURRENT_USER();"
95- mysql_user " SELECT USER();"
84+ mysql_log " show databases"
85+ mysql_log " SELECT CURRENT_USER();"
86+ mysql_log " SELECT USER();"
87+ mysql_log " SELECT user,host FROM mysql.user"
88+ mysql_log " SET GLOBAL max_allowed_packet=1073741824"
89+ mysql_log " SHOW GLOBAL STATUS LIKE 'Connection_errors_%'"
90+ mysql_log " SHOW VARIABLES LIKE '%_timeout'"
9691section_end
9792
9893if [ " ${db} " = " install" ]; then
@@ -102,6 +97,7 @@ if [ "${db}" = "install" ]; then
10297elif [ " ${db} " = " upgrade" ]; then
10398 section_start " Upgrade DOMjudge database"
10499 /opt/domjudge/domserver/bin/dj_setup_database -uroot -p${MYSQL_ROOT_PASSWORD} upgrade
100+ /opt/domjudge/domserver/webapp/bin/console domjudge:reset-user-password admin " pass"
105101 section_end
106102fi
107103
@@ -141,31 +137,31 @@ if [ "${db}" = "install" ]; then
141137 section_start " Install the example data"
142138 if [ " $version " = " unit" ]; then
143139 # Make sure admin has no team associated so we will not insert submissions during unit tests.
144- mysql_root " UPDATE user SET teamid=null WHERE userid=1;" $DATABASE_NAME
140+ mysql_log " UPDATE user SET teamid=null WHERE userid=1;" $DATABASE_NAME
145141 fi
146142 /opt/domjudge/domserver/bin/dj_setup_database -uroot -p${MYSQL_ROOT_PASSWORD} install-examples | tee -a " $ARTIFACTS /mysql.txt"
147143 section_end
148144fi
149145
150146section_start " Setup user"
151147# We're using the admin user in all possible roles
152- mysql_root " DELETE FROM userrole WHERE userid=1;" $DATABASE_NAME
148+ mysql_log " DELETE FROM userrole WHERE userid=1;" $DATABASE_NAME
153149if [ " $version " = " team" ]; then
154150 # Add team to admin user
155- mysql_root " INSERT INTO userrole (userid, roleid) VALUES (1, 3);" $DATABASE_NAME
156- mysql_root " UPDATE user SET teamid = 1 WHERE userid = 1;" $DATABASE_NAME
151+ mysql_log " INSERT INTO userrole (userid, roleid) VALUES (1, 3);" $DATABASE_NAME
152+ mysql_log " UPDATE user SET teamid = 1 WHERE userid = 1;" $DATABASE_NAME
157153elif [ " $version " = " jury" ]; then
158154 # Add jury to admin user
159- mysql_root " INSERT INTO userrole (userid, roleid) VALUES (1, 2);" $DATABASE_NAME
155+ mysql_log " INSERT INTO userrole (userid, roleid) VALUES (1, 2);" $DATABASE_NAME
160156elif [ " $version " = " balloon" ]; then
161157 # Add balloon to admin user
162- mysql_root " INSERT INTO userrole (userid, roleid) VALUES (1, 4);" $DATABASE_NAME
158+ mysql_log " INSERT INTO userrole (userid, roleid) VALUES (1, 4);" $DATABASE_NAME
163159elif [ " $version " = " admin" ]; then
164160 # Add admin to admin user
165- mysql_root " INSERT INTO userrole (userid, roleid) VALUES (1, 1);" $DATABASE_NAME
161+ mysql_log " INSERT INTO userrole (userid, roleid) VALUES (1, 1);" $DATABASE_NAME
166162elif [ " $version " = " all" ] || [ " $version " = " unit" ]; then
167- mysql_root " INSERT INTO userrole (userid, roleid) VALUES (1, 1);" $DATABASE_NAME
168- mysql_root " INSERT INTO userrole (userid, roleid) VALUES (1, 3);" $DATABASE_NAME
169- mysql_root " UPDATE user SET teamid = 1 WHERE userid = 1;" $DATABASE_NAME
163+ mysql_log " INSERT INTO userrole (userid, roleid) VALUES (1, 1);" $DATABASE_NAME
164+ mysql_log " INSERT INTO userrole (userid, roleid) VALUES (1, 3);" $DATABASE_NAME
165+ mysql_log " UPDATE user SET teamid = 1 WHERE userid = 1;" $DATABASE_NAME
170166fi
171167section_end
0 commit comments