Skip to content

feat: 어드민 Flyway 버전 형상 뷰어#254

Merged
Ryan-Dia merged 1 commit into
devfrom
feat/flyway-version-viewer
Jun 15, 2026
Merged

feat: 어드민 Flyway 버전 형상 뷰어#254
Ryan-Dia merged 1 commit into
devfrom
feat/flyway-version-viewer

Conversation

@Ryan-Dia

@Ryan-Dia Ryan-Dia commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

📌 What

어드민에 Flyway 버전 형상 뷰어 화면(/flyway)을 추가합니다. 4단계 파이프라인 현황, 같은번호 충돌·순서역전 경고, 검색/상태 필터, 마이그레이션 SQL 뷰어, 작업중 등록 폼을 제공합니다. (백엔드: Bombom-Team/admin#35)

❓ Why

Flyway out-of-order 도입에 따라 버전 번호 충돌과 순서 역전 위험이 생기는데, 팀원이 새 마이그레이션을 만들기 전에 "어떤 번호가 쓰였고, 무엇이 작업중이며, 충돌·역전이 있는지"를 한눈에 봐야 사고를 예방할 수 있습니다. 그 현황을 보여줄 어드민 화면이 필요했습니다.

🔧 How

  • /flyway 라우트 + 사이드바 "Flyway 형상" 메뉴
  • flyway API/쿼리 모듈 (overview / script / wip)
  • FlywayViewer: 4단계 파이프라인 카드(로컬작업중→PR리뷰중→머지·배포대기→DB서버반영), 충돌·순서역전 배너, 검색/상태 필터, 다음 안전 번호, 마스터-디테일(우측 CodeMirror SQL lazy 로드)
  • WipRegisterForm: 작업중 등록(새/기존 테이블 토글, 기존 테이블 검색 드롭다운, 예정버전 프리필) → 백엔드가 flyway-wip 이슈 생성
  • 기존 컨벤션(fetcher/queryOptions/Layout/theme/CodeMirror) 그대로 따름

👀 Review Point

  • vite build 성공(라우트 트리 재생성) · 신규 파일 tsc --noEmit/eslint 클린
  • 마스터-디테일 UX 및 파이프라인/배너 표현 검토
  • SQL 신택스 하이라이트는 @codemirror/lang-sql 미설치로 플레인 표시 — 의존성 추가 여부 결정 필요
  • (참고) src/pages/blog/* 의 tiptap 관련 tsc 오류는 본 PR과 무관한 기존 이슈

- /flyway 라우트 + 사이드바 메뉴
- flyway API/쿼리 모듈 (overview/script/wip)
- FlywayViewer: 4단계 파이프라인, 같은번호 충돌·순서역전 배너, 검색/상태필터,
  마스터-디테일(CodeMirror SQL), 다음 안전 번호
- WipRegisterForm: 작업중 등록(새/기존 테이블, 기존 테이블 검색) → 백엔드 이슈 생성

@jaeyoung-kwon jaeyoung-kwon left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 PR Review

✅ 확실하게 수정이 필요한 항목을 찾지 못했습니다.

어드민 Flyway 버전 형상 뷰어를 완결성 있게 구현했습니다. API 레이어·React Query 설정·UI 컴포넌트(FlywayViewer, WipRegisterForm)가 일관되게 구성되어 있고, 사이드바 진입점·파이프라인 카드·충돌/역전 배너·마스터-디테일·WIP 등록 폼 모두 기능적으로 타당합니다. 생성 파일(routeTree.gen.ts) 제외 시 production 이슈는 발견되지 않았습니다.

🚨 0 Critical · ⚠️ 0 Major · 📝 1 Minor

참고

  • admin/src/pages/flyway/WipRegisterForm.tsx:34 — WipRegisterForm: 성공 후 중복 제출 방지 없음
    mutation 성공(data 설정) 후에도 canSubmit이 true이고 isPending이 false가 되므로 '저장' 버튼이 즉시 재활성화됩니다. 어드민이 성공 메시지를 본 뒤 실수로 다시 클릭하면 동일 flyway-wip 이슈가 중복 생성될 수 있습니다. disabled={!canSubmit || isPending || !!data} 조건을 추가하거나 성공 시 폼을 리셋하는 것이 안전합니다.
📋 검증 과정
  • Claude structured review 결과 중 확신도가 있는 항목만 정리했습니다.
  • Critical/Major는 inline comment로 게시하고, Minor는 참고 항목으로 summary에 포함합니다.
  • 자동 생성된 OpenAPI 타입 선언 파일과 lock 파일은 리뷰 대상에서 제외합니다.

🤖 Claude PR Review


Generated by Claude Code

@Ryan-Dia Ryan-Dia merged commit a915422 into dev Jun 15, 2026
3 checks passed
@Ryan-Dia Ryan-Dia deleted the feat/flyway-version-viewer branch June 15, 2026 13:28
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.

2 participants