Matthias Nott
2026-02-26 5d0247159b125bf035285d56c2b9bb58d6bb3029
app/routers/sync_data.py
....@@ -29,6 +29,7 @@
2929 db_only: bool,
3030 uploads_only: bool,
3131 dry_run: bool = False,
32
+ skip_backup: bool = False,
3233 ) -> AsyncGenerator[str, None]:
3334 """Stream sync output via SSE."""
3435 args = ["sync", project, "--from", from_env, "--to", to_env]
....@@ -38,6 +39,8 @@
3839 args.append("--uploads-only")
3940 if dry_run:
4041 args.append("--dry-run")
42
+ if skip_backup:
43
+ args.append("--skip-backup")
4144
4245 mode = "db-only" if db_only else ("uploads-only" if uploads_only else "full")
4346 yield _sse_line({
....@@ -62,6 +65,7 @@
6265 db_only: bool = Query(default=False),
6366 uploads_only: bool = Query(default=False),
6467 dry_run: bool = Query(default=False),
68
+ skip_backup: bool = Query(default=False),
6569 _: str = Depends(verify_token),
6670 ) -> StreamingResponse:
6771 """Sync data backward (prod->int, int->dev) with SSE streaming."""
....@@ -71,7 +75,7 @@
7175 detail=f"Invalid sync path '{from_env} -> {to_env}'. Only adjacent pairs are allowed: prod<->int, int<->dev.",
7276 )
7377 return StreamingResponse(
74
- _sync_generator(project, from_env, to_env, db_only, uploads_only, dry_run),
78
+ _sync_generator(project, from_env, to_env, db_only, uploads_only, dry_run, skip_backup),
7579 media_type="text/event-stream",
7680 headers={
7781 "Cache-Control": "no-cache",