40 lines
1.3 KiB
Bash
Executable File
40 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
############################################################################
|
|
#
|
|
# Output all migrations that would be applied to an
|
|
# empty database for the bok-choy acceptance tests.
|
|
#
|
|
############################################################################
|
|
|
|
# Fail fast
|
|
set -e
|
|
|
|
if [[ -z "$BOK_CHOY_HOSTNAME" ]]; then
|
|
MYSQL_HOST=""
|
|
SETTINGS="bok_choy"
|
|
else
|
|
MYSQL_HOST="--host=edx.devstack.mysql"
|
|
SETTINGS="bok_choy_docker"
|
|
fi
|
|
|
|
declare -A databases
|
|
declare -a database_order
|
|
databases=(["default"]="edxtest" ["student_module_history"]="student_module_history_test")
|
|
database_order=("default" "student_module_history")
|
|
|
|
for db in "${database_order[@]}"; do
|
|
echo "CREATE DATABASE IF NOT EXISTS ${databases[$db]};" | mysql $MYSQL_HOST -u root
|
|
|
|
# Clear out the test database using the reset_db command which uses "DROP DATABASE" and
|
|
# "CREATE DATABASE". This will result in an empty database.
|
|
echo "Clearing out the $db bok_choy MySQL database."
|
|
./manage.py lms --settings $SETTINGS reset_db --traceback --router $db
|
|
# Now output all the migrations in the platform to a file.
|
|
echo "Calculating migrations."
|
|
|
|
output_file="common/test/db_cache/bok_choy_${db}_migrations.yaml"
|
|
./manage.py lms --settings $SETTINGS show_unapplied_migrations --database $db --output_file $output_file
|
|
|
|
done
|