Skip to content

refactor: v1 API 및 레거시 DB 필드 제거 - #147

Merged
yhaeul merged 6 commits into
developfrom
refactor/remove-v1-api
Aug 11, 2026
Merged

refactor: v1 API 및 레거시 DB 필드 제거#147
yhaeul merged 6 commits into
developfrom
refactor/remove-v1-api

Conversation

@yhaeul

@yhaeul yhaeul commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

작업 내용

  • v1 API 라우트 및 v1 전용 서버 서비스 제거
  • 미사용 device 기능 제거
    • device Entity 및 datasource 등록 제거
    • /api/v2/users/me/devices API 제거
    • updateDevice 및 관련 OpenAPI 스키마 제거
  • deprecated 운영진 등록 신청 API 제거
    • POST /api/v2/managers/me/clubs 제거
    • club_manager_register_request 관련 코드 제거
    • 신규 club_manager_request 흐름으로 일원화
  • 사용자 학과 정보를 collegeMajor 기반으로 일원화
    • allclear_user.college, major 의존성 제거
    • 프로필 조회·수정 및 웹·모바일 타입 갱신
  • 미사용 DB 컬럼의 Entity·도메인·API 의존성 제거
    • account.password
    • allclear_usercollege, major, grade, university 관련 컬럼
    • user의 개인정보·약관 동의·service 컬럼
    • club의 기존 상세 정보 및 인기 동아리 관련 컬럼
    • 리뷰 키워드·카테고리의 미사용 표시 컬럼
    • user_club_review.rating, content
  • 미사용 인기 동아리 API 및 관련 코드 제거
  • 웹·모바일·OpenAPI 타입과 응답 스키마 정리
  • 사용하지 않는 동아리 관리 화면 및 기존 웹 편집 페이지 제거
  • 모바일 README의 User 타입 및 API 예시를 v2 기준으로 갱신
  • DB 반영을 위한 pre/post-deploy SQL 추가
    • apps/web/sql/260811_pre_deploy.sql
    • apps/web/sql/260811_post_deploy.sql

다음 데이터는 의도적으로 유지했습니다.

  • account.social_info
  • club.description
  • club.article
  • club.article_uploaded_at
  • old_club_manager

삭제 예정인 DB에 대한 참고: https://app.notion.com/p/DB-ER-32c70e37e9c7807f8b1bfdda66a0d879?source=copy_link#3b970e37e9c780ad9b72e6e66390196d

변경 이유

v2 이전 스키마와 API에서 사용하던 필드·테이블·엔드포인트가 현재 코드에 남아 있어 유지보수 비용과 DB 스키마 복잡도가 증가하고 있었습니다.

현재 앱과 서버에서 사용하지 않는 레거시 의존성을 제거하고, 사용자 학과 정보와 운영진 권한 신청 흐름을 신규 구조로 일원화하기 위해 변경했습니다.

테스트한 내용

  • pnpm verify
    • lint/typecheck/test 6개 작업 통과
    • 웹 테스트 39개 통과
    • 모바일 테스트 71개 통과
  • 모바일 실제 pre-push 검증 통과
  • biome check 284개 파일 통과
  • 웹 production build 통과
  • git diff --check 통과
  • 다음 레거시 참조가 코드에 남지 않은 것을 정적 검색으로 확인
    • /api/v1
    • server/service/v1
    • entities/v1
    • DeviceEntity, updateDevice
    • club_manager_register_request
    • 삭제 대상 DB 컬럼의 Entity·도메인·API 참조
  • DB 데이터 검증 SQL 수동 실행 및 결과 확인

배포 시 주의사항

  1. 서버 배포 전에 dev DB에서 260811_pre_deploy.sql 실행
  2. 현재 브랜치를 develop에 머지하고 dev 서버 배포
  3. 모든 서버 인스턴스가 새 버전으로 교체됐는지 확인
  4. 주요 API smoke test 및 오류 로그 관찰
  5. dev DB 백업
  6. 260811_post_deploy.sql 실행
  7. 삭제 대상 컬럼·테이블·인덱스 제거 여부 확인
  8. 주요 API smoke test 재실행

post-deploy.sql 실행 후에는 삭제된 컬럼을 참조하는 이전 서버 버전으로 단순 롤백할 수 없으므로, 모든 인스턴스 교체와 정상 동작을 확인한 뒤 실행해야 합니다.

체크

  • lint/typecheck/test 통과
  • 웹 production build 통과
  • DB 데이터 검증 완료
  • dev DB pre-deploy SQL 실행
  • dev 배포 및 smoke test 완료
  • dev DB post-deploy SQL 실행
  • DB 삭제 후 최종 smoke test 완료
  • UI 깨짐 없음
  • 콘솔 및 서버 로그 오류 없음

@yhaeul
yhaeul merged commit 4d50a78 into develop Aug 11, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant