27 lines
1.2 KiB
Python
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]))
|