Compare commits
2 Commits
aaa02622e7
...
48e049fb04
| Author | SHA1 | Date |
|---|---|---|
|
|
48e049fb04 | |
|
|
d4d26d35a1 |
|
|
@ -21,19 +21,18 @@ async def lifespan(app: FastAPI):
|
||||||
# TEMPORARY: Clean up old deleted assets (remove this after first run)
|
# TEMPORARY: Clean up old deleted assets (remove this after first run)
|
||||||
from app.infra.database import AsyncSessionLocal
|
from app.infra.database import AsyncSessionLocal
|
||||||
from sqlalchemy import text
|
from sqlalchemy import text
|
||||||
import logging
|
|
||||||
logger = logging.getLogger(__name__)
|
|
||||||
|
|
||||||
async with AsyncSessionLocal() as session:
|
async with AsyncSessionLocal() as session:
|
||||||
# Check how many deleted assets exist
|
# Check how many deleted assets exist
|
||||||
result = await session.execute(text("SELECT COUNT(*) FROM assets WHERE status = 'deleted'"))
|
result = await session.execute(text("SELECT COUNT(*) FROM assets WHERE status = 'deleted'"))
|
||||||
count_before = result.scalar()
|
count_before = result.scalar()
|
||||||
logger.info(f"Found {count_before} assets with status='deleted'")
|
print(f"[MIGRATION] Found {count_before} assets with status='deleted'")
|
||||||
|
|
||||||
# Delete them
|
# Delete them
|
||||||
result = await session.execute(text("DELETE FROM assets WHERE status = 'deleted'"))
|
result = await session.execute(text("DELETE FROM assets WHERE status = 'deleted'"))
|
||||||
await session.commit()
|
await session.commit()
|
||||||
logger.info(f"Deleted {result.rowcount} assets with status='deleted'")
|
print(f"[MIGRATION] Deleted {result.rowcount} assets with status='deleted'")
|
||||||
|
print("[MIGRATION] Migration complete - you can now remove this code from main.py")
|
||||||
# END TEMPORARY
|
# END TEMPORARY
|
||||||
|
|
||||||
yield
|
yield
|
||||||
|
|
|
||||||
|
|
@ -5,13 +5,13 @@ networks:
|
||||||
driver: bridge
|
driver: bridge
|
||||||
internal: true # ВАЖНО: сеть без выхода "в интернет" (межконтейнерная)
|
internal: true # ВАЖНО: сеть без выхода "в интернет" (межконтейнерная)
|
||||||
itcloud-edge:
|
itcloud-edge:
|
||||||
driver: bridge # сеть для входящего трафика (только nginx)
|
driver: bridge
|
||||||
|
|
||||||
services:
|
services:
|
||||||
nginx:
|
nginx:
|
||||||
image: nginx:alpine
|
image: nginx:alpine
|
||||||
ports:
|
ports:
|
||||||
- "${NGINX_PORT:-8095}:80" # единственный внешний порт
|
- "${NGINX_PORT:-8095}:80"
|
||||||
volumes:
|
volumes:
|
||||||
- ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro
|
- ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro
|
||||||
depends_on:
|
depends_on:
|
||||||
|
|
@ -39,7 +39,7 @@ services:
|
||||||
- REDIS_URL=redis://redis:6379/0
|
- REDIS_URL=redis://redis:6379/0
|
||||||
volumes:
|
volumes:
|
||||||
- ./backend/src:/app/src
|
- ./backend/src:/app/src
|
||||||
- backend-data:/app/data
|
- ./backend-data:/app/data
|
||||||
depends_on:
|
depends_on:
|
||||||
minio:
|
minio:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
|
|
@ -109,7 +109,6 @@ services:
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
image: redis:7-alpine
|
image: redis:7-alpine
|
||||||
# ports: <-- УБРАЛИ! наружу не светим
|
|
||||||
expose:
|
expose:
|
||||||
- "6379"
|
- "6379"
|
||||||
volumes:
|
volumes:
|
||||||
|
|
@ -123,5 +122,4 @@ services:
|
||||||
- itcloud-net
|
- itcloud-net
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
backend-data:
|
|
||||||
redis-data:
|
redis-data:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue