31 wiersze
795 B
Plaintext
31 wiersze
795 B
Plaintext
![]() |
#!/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"
|