작성일: 2026년 4월 7일 진행 단계: Phase 8 (테스트 및 버그 수정) — 계속 이전 일지: Day 10 (Upsert 지원 + 전체 테스트 스위트)


✅ Phase 8 진행 현황

작업 내용 상태
백엔드 Upsert 검증 confirm/skip upsert 동작 확인 ✅ 완료
Weekly 스케줄 저장 수정 PATCH 요청이 schedules 테이블도 업데이트하도록 수정 ✅ 완료
Weekly 홈 화면 필터 해당 요일에만 약 표시 ✅ 완료
편집 화면 요일 강조 편집 진입 시 선택된 요일 하이라이트 ✅ 완료
히스토리 날짜 탭 상세 보기 날짜 탭으로 개별 복약 로그 확인 ✅ 완료
히스토리 통계 정확도 수정 total 카운트 오류 수정 (비활성 스케줄 포함 버그) ✅ 완료
히스토리 로그 정렬 순서 복용 → 스킵 → 미복용 순 정렬 ✅ 완료
히스토리 즉시 동기화 confirm/skip 후 히스토리 즉시 갱신 ✅ 완료
회원가입 리다이렉트 수정 회원가입 후 로그인 화면으로 이동 ✅ 완료
DB 초기화 테스트 유저 및 데이터 전체 삭제 ✅ 완료

1. 백엔드 Upsert 검증

dose_service.py confirm / skip 메서드가 upsert를 정상적으로 수행하는지 확인:


2. Weekly 스케줄 저장 수정

문제

medication_service.update()medications 테이블만 업데이트하고 스케줄 변경을 완전히 무시했음. 요일 선택이 저장되지 않음.

원인

수정 — schemas/medication.py

ScheduleUpdate 모델 추가 및 MedicationUpdateschedules 필드 추가:

class ScheduleUpdate(BaseModel):
    scheduled_time: str
    cycle_type: str
    cycle_value: Optional[dict | list] = None

class MedicationUpdate(BaseModel):
    name: Optional[str] = None
    dosage: Optional[str] = None
    color_tag: Optional[str] = None
    memo: Optional[str] = None
    schedules: Optional[list[ScheduleUpdate]] = None  # 추가