← 개발노트
이어봄 운영 장애 대응·복구·배포 안전화·모바일 UI 개선 보고서
2.1 증상
- 사용자 화면: `/login?error=...` 에서 일반 문구만 표시
- Google 로그인 화면까지는 정상 이동
- OAuth callback 이후 세션이 생성되지 않음
3.2 원인 평가
- **직접 원인:** 고아 레코드 정리 시 이메일/좌석/Account 매핑을 먼저 복원하지 않고 삭제
- **선행 상태:** 운영 DB에 이미 User 유실 + 하위 테이블 orphan이 존재
- **가능 배경:** 과거 `prisma db push --accept-data-loss` 기반 배포/스키마 동기화, 또는 DB 교체/부분 손실
5.3 검증
- 임시 DB 복사본에서 FTS 정리 + `prisma db push` 성공
- 운영 배포 시 `The database is already in sync with the Prisma schema.`
- 배포 전후 주요 테이블 행 수 비교로 추가 데이터 손실 없음 확인
6.1 감사 범위
- 랜딩(`/`)
- 로그인
- 오늘
- 기록 목록/작성/상세
- 성구 선택 모달
- 돌아보기
- 함께
- 내 정보
- 키링(`/j/e01`)
6.3 관련 파일
- `src/components/landing-hero.tsx`
- `src/lib/utils.ts`
- `src/components/open-action-card.tsx`
6.4 배포 후 확인
- 랜딩 모바일 헤더: `이어봄` + `로그인` 한 줄
- 오늘 페이지: `2026년 8월 3일 (월)`
- 열린 결단: 중복 상태 칩 없음
- 서비스 active, health 200
인증·서비스
- [x] `/api/health` 200
- [x] `/api/auth/providers` 200
- [x] Google OAuth 진입 정상
- [x] 기존 4계정 세션/me 접근 가능
- [x] `systemctl is-active eobom` → active
데이터
- [x] `PRAGMA foreign_key_check` = 0
- [x] syas 기록 5개 복구
- [x] sukang 기록 2개 복구
- [x] chan/pk 계정·좌석·Google Account 복구
- [x] 배포 전후 데이터 보존 확인
코드/배포
- [x] `bun run test` 316 pass
- [x] `bun run build` 성공
- [x] main push
- [x] `deploy/deploy.sh --remote` 성공
- [x] 모바일 랜딩/오늘 화면 재검증