Files
soci/scripts/ci/before_build_mysql.sh
Vadim Zeitlin fc365a9cc8 Set up MySQL to allow CREATE FUNCTION in the CI builds
This is necessary with MySQL 8.
2022-10-27 23:25:50 +02:00

25 lines
907 B
Bash
Executable File

#!/usr/bin/env bash
# Sets up environment for SOCI backend MySQL in CI builds
#
# Mateusz Loskot <mateusz@loskot.net>, http://github.com/SOCI
#
source ${SOCI_SOURCE_DIR}/scripts/ci/common.sh
SOCI_MYSQL_USER=$(id -un)
if [ -n "${SOCI_MYSQL_ROOT_PASSWORD}" ]; then
sudo systemctl start mysql.service
SOCI_MYSQL_PASSWORD_OPT="-p${SOCI_MYSQL_ROOT_PASSWORD}"
mysql -u root ${SOCI_MYSQL_PASSWORD_OPT} -e "CREATE USER '${SOCI_MYSQL_USER}';"
fi
mysql --version
mysql -u root ${SOCI_MYSQL_PASSWORD_OPT} -e "CREATE DATABASE soci_test;"
mysql -u root ${SOCI_MYSQL_PASSWORD_OPT} -e "GRANT ALL PRIVILEGES ON soci_test.* TO '${SOCI_MYSQL_USER}'@'%';";
# This is necessary for MySQL stored procedure unit test to work.
mysql -u root ${SOCI_MYSQL_PASSWORD_OPT} -e "SET GLOBAL log_bin_trust_function_creators=1";
echo 'Testing connection to the database:'
echo 'SELECT USER();' | mysql --database=soci_test