44 lines
No EOL
1.2 KiB
Bash
44 lines
No EOL
1.2 KiB
Bash
#!/usr/bin/env bash
|
|
rm -f /var/lock/laravel_migration_underway \
|
|
/var/lock/laravel_migration_complete
|
|
|
|
if [ "${MIGRATE_ENABLE,,}" = "on" ]; then
|
|
|
|
# Give a moment for services to wake up
|
|
echo "[MIGRATION] Waiting until Laravel Ready."
|
|
sleep 3
|
|
until [ -f /var/lock/laravel_ready ]
|
|
do
|
|
sleep 1
|
|
done
|
|
echo "[MIGRATION] Laravel is ready, running migrations..."
|
|
|
|
cd /app
|
|
|
|
# Run migration
|
|
touch /var/lock/laravel_migration_underway
|
|
|
|
if [ "${MIGRATE_CLEAN,,}" = "on" ]; then
|
|
artisan migrate:fresh --force
|
|
artisan migrate --force # First run will fail due to permissions. We can ignore, but need to migrate again to finish.
|
|
else
|
|
# If we run this on first commit, it is the same as migrate:fresh, first run may fail and we need to try one more time.
|
|
artisan migrate --force || artisan migrate --force
|
|
fi
|
|
|
|
if [ "${SEEDERS,,}" = "on" ]; then
|
|
artisan db:seed -q
|
|
fi
|
|
|
|
rm /var/lock/laravel_migration_underway
|
|
touch /var/lock/laravel_migration_complete
|
|
echo "[MIGRATION] Migration complete!";
|
|
|
|
else
|
|
echo "[MIGRATION] Not enabled. Set MIGRATE_ENABLE = on to enable."
|
|
fi
|
|
|
|
# Sleep forever (and sleep again in case the sleep process is killed)
|
|
while true; do
|
|
sleep infinity
|
|
done |