fix: run alembic migration in one-shot container before backend start
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 1m1s

- Use 'docker compose run --rm backend alembic upgrade head' to run
  migration in a throwaway container (doesn't need backend running)
- Restore entrypoint migration fallback (don't block startup)
- Restart backend after migration to pick up schema changes
- Remove --no-cache (too slow, was causing timeouts)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-17 09:59:20 +02:00
parent f409ccc647
commit 392418c3f9
2 changed files with 8 additions and 6 deletions

View File

@@ -29,8 +29,8 @@ jobs:
git fetch origin production-deployment
git reset --hard origin/production-deployment
echo "=== Building images (no cache) ==="
docker compose build --no-cache backend frontend
echo "=== Building images ==="
docker compose build backend frontend
echo "=== Starting services ==="
docker compose up -d --remove-orphans
@@ -49,8 +49,11 @@ jobs:
sleep 2
done
echo "=== Running database migrations ==="
docker compose exec -T backend alembic upgrade head
echo "=== Running database migrations (one-shot container) ==="
docker compose run --rm backend alembic upgrade head
echo "=== Restarting backend to pick up migration ==="
docker compose restart backend
echo "=== Waiting for backend healthy ==="
for i in $(seq 1 20); do