← 목록으로

teamai — DB 권한 받아 처리 완료. 남은 건 키 2개 재발급

미리보기: https://dev-take-6.the-moment.us
테스트 계정으로 자동 로그인됩니다. 홈·메시지·크루마켓·팀·설정 5개 탭 전부 정상 진입 확인했습니다.


✅ DB 접속 권한 받아서 끝낸 것 (대표 개입 0)

접속 문자열 주신 덕에 이제 제가 직접 DB를 다룹니다. 앞으로 SQL을 대표께 부탁드릴 일은 없습니다.


🔴 남은 대표 조치 — 키 2개 재발급

실측 결과 아직 살아있는 키는 이 2개뿐입니다. (OpenAI·FAL 키는 이미 죽어 있어 조치 불필요)

① Supabase service_role 키

② Supabase 액세스 토큰

재발급 후 반영 (복붙)

cd ~/Projects/teamai
sed -i '' 's|^SUPABASE_SERVICE_KEY=.*|SUPABASE_SERVICE_KEY=새값|' .env
sed -i '' 's|^SUPABASE_ACCESS_TOKEN=.*|SUPABASE_ACCESS_TOKEN=새값|' .env

재발급이 유일한 해결책인 이유: 키가 git 히스토리에 남아 있어 파일을 고쳐도
과거 커밋에서 꺼낼 수 있습니다. 무효화하는 수밖에 없습니다.

③ Apple 서명 개인키 (확인만)

lib/AuthKey_KXD92Y2WLM.p8 가 저장소에 평문 커밋돼 있습니다.
- https://developer.apple.com/account/resources/authkeys/list
- Key ID KXD92Y2WLM 살아있으면 Revoke 후 재발급
- 제가 유효성을 테스트할 수단이 없어 이것만 대표 확인이 필요합니다.


⚠️ 점검 중 발견 — DB 스키마가 앱 코드보다 오래됐습니다

DB에는 테이블이 28개 있는데, 앱이 쓰는 이름과 DB 이름이 어긋난 곳이 있습니다.
프로젝트 중간에 expertcrew 로 이름을 바꾸다 만 흔적입니다.

앱 코드가 찾는 것 DB에 실제 있는 것
user_crews user_experts
crew_user_memories expert_user_memories
fcm_tokens user_fcm_tokens

그리고 아예 없는 테이블도 있습니다: action_items, consultation_reports,
conversation_summaries, knowledge_units, knowledge_relations, knowledge_cases,
skill_sessions, crew_knowledge.

지금 5개 탭이 다 열리는 건 이 테이블들을 쓰는 기능(액션플랜 상세·상담 리포트·지식 그래프 등)에
아직 안 들어가서입니다. 그 화면에 들어가면 깨질 가능성이 높습니다.

고치는 방향은 두 가지인데, 어느 쪽인지는 대표 판단이 필요합니다.

  1. DB를 앱에 맞춘다 — 테이블 이름을 바꾸고 없는 테이블을 마이그레이션대로 생성.
    기존 데이터를 살리면서 앱 코드는 안 건드립니다.
  2. 앱을 DB에 맞춘다 — 앱 코드의 테이블 이름을 현재 DB에 맞춰 수정.
    DB는 안 건드리지만 코드 수정 범위가 넓습니다(DB 직접 호출 98곳).

제 추천은 1번입니다. 앱 코드가 최신이고, 마이그레이션 파일이 저장소에 이미 있어
그대로 적용하면 되기 때문입니다. 데이터 손실 없이 컬럼·테이블 추가만 일어납니다.


참고 — 보안 상태