VOC_Monitor/fix_db.py

27 lines
1.2 KiB
Python

# -*- coding: utf-8 -*-
"""database.py에 car_num 마이그레이션 필드 추가"""
import re
with open("app/utils/database.py", encoding="utf-8") as f:
content = f.read()
# required_cols의 set_num 줄 뒤에 car_num 추가
old = ' # 차량 대시보드 전용 필드 (클라이언트 로컬 전용, Supabase 미동기화)\n # set_num: 편성번호 (예: \'101\', \'215\') VOCParser가 추출 후 저장\n "set_num": "TEXT"\n }'
new = ' # 열차 편성/호차 정보 (로컬 저장 + Supabase 동기화 모두 적용)\n "set_num": "TEXT", # 편성번호 (예: 101, 215)\n "car_num": "TEXT" # 호차 번호 (예: 3, 5)\n }'
if old in content:
content = content.replace(old, new, 1)
with open("app/utils/database.py", "w", encoding="utf-8") as f:
f.write(content)
print("✅ car_num 필드 추가 완료")
else:
# 현재 실제 내용 출력
m = re.search(r'set_num.*?}', content[3600:4200], re.DOTALL)
if m:
print("현재 내용:", repr(m.group()))
else:
print("❌ 패턴 찾기 실패")
# 주변 내용 확인
idx = content.find("set_num")
print(repr(content[idx-200:idx+200]))