31 wiersze
795 B
Bash
Executable File
31 wiersze
795 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
|
|
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"
|