fix(ci): reset stale DB volume, skip create_all in prod, handle alembic stamp fallback
All checks were successful
Deploy to Production / deploy (push) Successful in 47s

This commit is contained in:
Johngreen
2026-02-10 12:46:49 +09:00
parent 6b7a2f2b26
commit eb3dd0a4ab
4 changed files with 10 additions and 3 deletions

View File

@@ -41,6 +41,8 @@ jobs:
ssh -o StrictHostKeyChecking=no -i ~/.ssh/deploy_key geonhee@192.168.1.200 << 'ENDSSH'
cd ~/factoryops && ~/.local/bin/docker-compose -f docker-compose.prod.yml down 2>/dev/null || true
cd ~/factoryops-v2
~/.local/bin/docker-compose -f docker-compose.prod.yml down 2>/dev/null || true
docker volume rm factoryops-v2_postgres_data 2>/dev/null || true
~/.local/bin/docker-compose -f docker-compose.prod.yml up -d --build --force-recreate
echo "=== Waiting 15s for containers to stabilize ==="
sleep 15

View File

@@ -31,6 +31,7 @@ services:
- DATABASE_URL=postgresql+asyncpg://factoryops:factoryops@postgres:5432/factoryops_v2
- JWT_SECRET_KEY=${JWT_SECRET_KEY:-factoryops-v2-prod-secret}
- CORS_ORIGINS=https://factoryops.vexplor.com
- SKIP_CREATE_ALL=true
depends_on:
postgres:
condition: service_healthy

View File

@@ -1,11 +1,13 @@
#!/bin/sh
set -e
echo "Running Alembic migrations..."
python -m alembic upgrade head
python -m alembic upgrade head 2>&1 || {
echo "Migration failed, stamping current state..."
python -m alembic stamp head 2>&1
}
echo "Running seed data..."
python scripts/seed.py
python scripts/seed.py 2>&1 || echo "Seed skipped (may already exist)"
echo "Starting uvicorn..."
exec uvicorn main:app --host 0.0.0.0 --port 8000

View File

@@ -33,6 +33,8 @@ async def get_db():
async def init_db():
if os.getenv("SKIP_CREATE_ALL", "").lower() == "true":
return
from src.database.models import Base as _Base # noqa: F811
async with engine.begin() as conn: