baseimage-alpine/root/etc/s6-overlay/s6-rc.d/init-migrations/run
2022-06-08 15:31:58 +01:00

31 lines
797 B
Bash
Executable file

#!/bin/bash
MIGRATIONS_DIR="/migrations"
MIGRATIONS_HISTORY="/config/.migrations"
echo "[migrations] started"
if [ ! -d $MIGRATIONS_DIR ]; then
echo "[migrations] no migrations found"
exit 0
fi
for MIGRATION in $(ls -1 ${MIGRATIONS_DIR}/* | sort -n); do
NAME="$(basename "${MIGRATION}")"
if [ -f $MIGRATIONS_HISTORY ] && grep -Fxq "$NAME" $MIGRATIONS_HISTORY; then
echo "[migrations] ${NAME}: skipped"
continue
fi
echo "[migrations] ${NAME}: executing..."
chmod +x $MIGRATION
EXIT_CODE=$(/bin/bash ${MIGRATION}; echo $?)
if [ $EXIT_CODE -ne 0 ]; then
echo "[migrations] ${NAME}: failed with exit code $EXIT_CODE, contact support"
exit $EXIT_CODE
fi
echo $NAME >> $MIGRATIONS_HISTORY
echo "[migrations] ${NAME}: succeeded"
done
echo "[migrations] done"