-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrun_dev.py
More file actions
67 lines (55 loc) · 1.7 KB
/
Copy pathrun_dev.py
File metadata and controls
67 lines (55 loc) · 1.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
"""
Vision V2 — Démarrage en mode développement (sans PostgreSQL ni NAS).
Ce script :
1. Force DB_MODE=dev (bascule sur SQLite mock)
2. Seed la DB dev si nécessaire
3. Démarre uvicorn sur le port 8000
Usage :
python run_dev.py
python run_dev.py --port 8080 --reload
"""
import argparse
import os
import sys
from pathlib import Path
ROOT = Path(__file__).parent.resolve()
BACKEND = ROOT / "backend"
def main():
parser = argparse.ArgumentParser()
parser.add_argument("--port", type=int, default=8000)
parser.add_argument("--host", default="127.0.0.1")
parser.add_argument("--reload", action="store_true", help="Hot reload (dev)")
parser.add_argument("--no-seed", action="store_true", help="Skip DB seeding")
args = parser.parse_args()
# Mode DEV — SQLite mock
os.environ["DB_MODE"] = "dev"
os.environ.pop("RDS_HOST", None)
# PYTHONPATH inclut backend/ + root V2
sys.path.insert(0, str(ROOT))
sys.path.insert(0, str(BACKEND))
# 1. Seed DB
if not args.no_seed:
print("[1/2] Seed de la DB dev SQLite...")
os.chdir(BACKEND)
try:
from database.seed_dev_db import seed
seed()
except Exception as e:
print(f" [WARN] seed failed: {e}")
os.chdir(ROOT)
# 2. Démarrer uvicorn
print(f"\n[2/2] Démarrage uvicorn sur {args.host}:{args.port}")
print(f" Docs: http://{args.host}:{args.port}/docs")
print(f" Login: dev@ey.com / admin123")
print()
os.chdir(BACKEND)
import uvicorn
uvicorn.run(
"main:app",
host=args.host,
port=args.port,
reload=args.reload,
log_level="info",
)
if __name__ == "__main__":
main()