Skip to content

feat: Flyway 뷰어 UI 개선 — 순서역전 표시 / dev·prod 파이프라인#255

Merged
Ryan-Dia merged 2 commits into
mainfrom
feat/flyway-version-viewer
Jun 16, 2026
Merged

feat: Flyway 뷰어 UI 개선 — 순서역전 표시 / dev·prod 파이프라인#255
Ryan-Dia merged 2 commits into
mainfrom
feat/flyway-version-viewer

Conversation

@Ryan-Dia

Copy link
Copy Markdown
Contributor

📌 What

Flyway 형상 뷰어의 시각적 표현을 개선합니다.

  • 파이프라인 레이블: 머지·배포 대기 → dev 반영 / DB 서버 반영 → prod 반영
  • 순서역전 마이그레이션 행에 직접 배지 및 컬러 좌측 선 추가
  • SQL 패널에 순서역전 경고 블록 추가

❓ Why

  • 기존엔 상단 배너에만 역전 경고가 표시되어 어떤 행인지 한눈에 파악하기 어려웠음
  • "머지·배포 대기"라는 레이블이 의미를 직관적으로 전달하지 못했음
  • main=prod, server-dev=dev 브랜치 체계에 맞게 레이블을 명확화 필요

🔧 How

  • STATUS_META: MERGE_PENDING'dev 반영', DB_APPLIED'prod 반영'
  • leapfrogSeverityMap: version별 worst severity(COLUMN > TABLE) Map 계산
  • RowButton: $leapfrogSeverity prop으로 COLUMN(빨간)/TABLE(주황) 좌측 세로선 분리
  • LeapfrogBadge 인라인 배지: '⚠ 컬럼 역전' / '🔀 순서 역전'
  • DetailContent: leapfrogs prop 수신 후 SQL 위에 LeapfrogWarning 블록 렌더링
    (공유 테이블/컬럼 하이라이트, 강/약 구분 배경색)
  • 다른 테이블을 건드리는 순서역전은 표시 없음 (현재와 동일)

👀 Review Point

  • 순서역전 없는 행은 아무 표시 없는지 확인
  • 컬럼 역전(빨강) / 테이블 역전(주황) 색상 구분
  • SQL 패널 경고 블록 — 강/약 배경색 및 공유 오브젝트 표시

Ryan-Dia added 2 commits June 15, 2026 21:41
- /flyway 라우트 + 사이드바 메뉴
- flyway API/쿼리 모듈 (overview/script/wip)
- FlywayViewer: 4단계 파이프라인, 같은번호 충돌·순서역전 배너, 검색/상태필터,
  마스터-디테일(CodeMirror SQL), 다음 안전 번호
- WipRegisterForm: 작업중 등록(새/기존 테이블, 기존 테이블 검색) → 백엔드 이슈 생성
- STATUS_META: MERGE_PENDING→'dev 반영', DB_APPLIED→'prod 반영'
- 순서역전 행: 좌측 컬러 세로선(컬럼=빨강, 테이블=주황) + 인라인 배지
  ('⚠ 컬럼 역전' / '🔀 순서 역전')
- 상단 배너 severity 표기: TABLE→'테이블', COLUMN→'컬럼'으로 한글화
- SQL 패널: 선택 마이그레이션이 순서역전 대상이면 경고 블록 표시
  (공유 테이블/컬럼명 하이라이트, 강약 구분 색상)
@Ryan-Dia Ryan-Dia merged commit 4164e5c into main Jun 16, 2026
1 check passed
@Ryan-Dia Ryan-Dia deleted the feat/flyway-version-viewer branch June 16, 2026 00:43

@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

⚠️ 수정이 필요한 리뷰 코멘트가 있습니다.

UI 개선 방향과 구현이 전반적으로 올바르나, WipRegisterForm에서 성공 후 폼 초기화 또는 버튼 비활성화가 없어 GitHub 이슈가 중복 생성될 수 있습니다.

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

수정 필요

  • admin/src/pages/flyway/WipRegisterForm.tsx:26 — WipRegisterForm 성공 후 중복 제출 가능

    onSuccess에서 쿼리 무효화만 수행하고 폼 상태를 초기화하지 않습니다. 제출 성공 후에도 canSubmittrue로 유지되어 사용자가 실수로 다시 "저장"을 누르면 동일한 내용으로 GitHub 이슈가 중복 생성됩니다.

    수정 방법: onSuccess에서 폼 필드를 초기화(setDescription(''), setPlannedVersion(defaultVersion) 등)하거나, 버튼 disabled 조건에 !!data를 추가(disabled={!canSubmit || isPending || !!data})하여 중복 제출을 방지하세요.

    Claude 검증: 변경 diff의 admin/src/pages/flyway/WipRegisterForm.tsx:26-31 기준으로 확인했습니다. (confidence 0.88).

참고

  • admin/src/pages/flyway/FlywayViewer.tsx:475 — leapfrogBackground — COLUMN 심각도에서 active 상태 미반영
    leapfrogBackground 함수는 active 파라미터를 TABLE 심각도에서만 사용합니다(active ? '#FFFBEB' : '#FFFEF5'). COLUMN 심각도 행이 선택(active)되어도 배경색이 동일(#FFF5F5)하여 선택 여부를 시각적으로 구분할 수 없습니다. COLUMN 케이스에도 active 분기 추가를 고려하세요.

  • admin/src/pages/flyway/FlywayViewer.tsx:455 — Panes 컨테이너 높이 540px 하드코딩
    height: 540px은 고정값이라 화면 높이나 상단 콘텐츠 양에 따라 패널이 잘리거나 불필요하게 짧아질 수 있습니다. calc(100vh - Npx) 또는 flex: 1 + 부모 overflow: hidden 방식을 고려하세요.

📋 검증 과정
  • Claude structured review 결과 중 확신도가 있는 항목만 정리했습니다.
  • Critical/Major는 inline comment로 게시하고, Minor는 참고 항목으로 summary에 포함합니다.
  • 자동 생성된 OpenAPI 타입 선언 파일과 lock 파일은 리뷰 대상에서 제외합니다.
  • routeTree.gen.ts(*.gen.ts)는 생성 파일로 리뷰에서 제외했습니다.

🤖 Claude PR Review


Generated by Claude Code

jaeyoung-kwon added a commit that referenced this pull request Jun 17, 2026
* hotfix: ios일 때 알림 탭이 보이지 않도록 수정

* hotfix: 웹일때 알림 설정이 보이는 문제 수정

* hotfix: ios일때 알림 설정 페이지로 접근하지 못하도록 수정

* hotfix: ios에서 알림 설정 탭이 보이지 않는 문제 수정

* [BOM-1042] refactor: 랜딩페이지 인덱싱 정책 수정 (#173)

* chore: 랜딩페이지 robots 태그 수정

* chore: 사이트맵 업데이트

* hotfix: 회원가입 페이지에서 profile api가 호출되지 않도록 수정

* Revert "[BOM-1053] fix: 안드로이드 highlight toolbar 에러 해결 (#180)"

This reverts commit a83ca25.

* hotfix: 카테고리 알림이 토글되지 않는 문제 수정

* Reapply "[BOM-1053] fix: 안드로이드 highlight toolbar 에러 해결 (#180)"

This reverts commit f906d17.

* [BOM-1066] nanumgothic으로 폰트 변경 (#188)

* feat: nanumgothic으로 폰트 변경

* feat: 800-> 700 font weight 변경

* chore: trigger frontend deploy

* chore: trigger maeil-mail deploy

* feat: Flyway 뷰어 UI 개선 — 순서역전 표시 / dev·prod 파이프라인 (#255)

* feat: 어드민에 Flyway 버전 형상 뷰어 추가

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

* feat: Flyway 뷰어 UI 개선 — 순서역전 행 표시 / dev·prod 파이프라인 레이블

- STATUS_META: MERGE_PENDING→'dev 반영', DB_APPLIED→'prod 반영'
- 순서역전 행: 좌측 컬러 세로선(컬럼=빨강, 테이블=주황) + 인라인 배지
  ('⚠ 컬럼 역전' / '🔀 순서 역전')
- 상단 배너 severity 표기: TABLE→'테이블', COLUMN→'컬럼'으로 한글화
- SQL 패널: 선택 마이그레이션이 순서역전 대상이면 경고 블록 표시
  (공유 테이블/컬럼명 하이라이트, 강약 구분 색상)

* Revert "feat: Flyway 뷰어 UI 개선 — 순서역전 표시 / dev·prod 파이프라인 (#255)" (#257)

This reverts commit 4164e5c.

* feat: 읽기 통계·마이페이지 랭킹 API 생성 및 pet API 이동

OpenAPI 스펙(reading calendar/dashboard, member join-days, rank summary) 기반
generated 모듈 추가. 스펙에서 빠진 pet API는 web/src/apis/pet로 이동하고
중복 article generated는 제거

---------

Co-authored-by: Jeongeun Lee <leeju1009@gmail.com>
Co-authored-by: deokbin <deokbin@naver.com>
Co-authored-by: Lee Jeongeun <106021313+JeLee-river@users.noreply.github.com>
Co-authored-by: Deokbin Kim <162319857+Db0111@users.noreply.github.com>
Co-authored-by: Cheol Won <76567238+Ryan-Dia@users.noreply.github.com>
JeLee-river added a commit that referenced this pull request Jul 8, 2026
* hotfix: ios일 때 알림 탭이 보이지 않도록 수정

* hotfix: 웹일때 알림 설정이 보이는 문제 수정

* hotfix: ios일때 알림 설정 페이지로 접근하지 못하도록 수정

* hotfix: ios에서 알림 설정 탭이 보이지 않는 문제 수정

* [BOM-1042] refactor: 랜딩페이지 인덱싱 정책 수정 (#173)

* chore: 랜딩페이지 robots 태그 수정

* chore: 사이트맵 업데이트

* hotfix: 회원가입 페이지에서 profile api가 호출되지 않도록 수정

* Revert "[BOM-1053] fix: 안드로이드 highlight toolbar 에러 해결 (#180)"

This reverts commit a83ca25.

* hotfix: 카테고리 알림이 토글되지 않는 문제 수정

* Reapply "[BOM-1053] fix: 안드로이드 highlight toolbar 에러 해결 (#180)"

This reverts commit f906d17.

* [BOM-1066] nanumgothic으로 폰트 변경 (#188)

* feat: nanumgothic으로 폰트 변경

* feat: 800-> 700 font weight 변경

* chore: trigger frontend deploy

* chore: trigger maeil-mail deploy

* feat: Flyway 뷰어 UI 개선 — 순서역전 표시 / dev·prod 파이프라인 (#255)

* feat: 어드민에 Flyway 버전 형상 뷰어 추가

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

* feat: Flyway 뷰어 UI 개선 — 순서역전 행 표시 / dev·prod 파이프라인 레이블

- STATUS_META: MERGE_PENDING→'dev 반영', DB_APPLIED→'prod 반영'
- 순서역전 행: 좌측 컬러 세로선(컬럼=빨강, 테이블=주황) + 인라인 배지
  ('⚠ 컬럼 역전' / '🔀 순서 역전')
- 상단 배너 severity 표기: TABLE→'테이블', COLUMN→'컬럼'으로 한글화
- SQL 패널: 선택 마이그레이션이 순서역전 대상이면 경고 블록 표시
  (공유 테이블/컬럼명 하이라이트, 강약 구분 색상)

* Revert "feat: Flyway 뷰어 UI 개선 — 순서역전 표시 / dev·prod 파이프라인 (#255)" (#257)

This reverts commit 4164e5c.

* hotfix: 매일메일에서 회원가입 후 페이지로 돌아가지 못하는 문제 수정

* chore: 연속 읽기 보호막 UI main 체리픽 반영 (#274)

* chore: 연속 읽기 보호막 API 타입 반영

(cherry picked from commit 338cdcc)

* design: 연속 읽기 보호막 사용 완료 아이콘 추가

(cherry picked from commit 3997771)

* feat: 연속 읽기 보호막 정보 컴포넌트 추가

(cherry picked from commit 119f0fd)

* feat: 연속 독서왕 내 순위 보호막 표시 추가

(cherry picked from commit 2f80a09)

* chore: 연속 읽기 보호막 목 데이터 추가

(cherry picked from commit 834124c)

* chore: 연속 읽기 보호막 API 타입 정리

(cherry picked from commit 711b1fb)

* fix: 체리픽 생성 타입 정합성 수정

* fix: 스토리지 차단 환경에서 랜딩 리다이렉트 크래시 방어

localStorage 접근이 SecurityError로 throw하는 환경(스토리지 차단 인앱/크롤러)에서
_bombom beforeLoad가 실패해 라우트 기본 에러 UI가 노출되던 문제 수정.
createStorage를 try/catch로 감싸 실패 시 기본값 반환·noop 처리하고, 라우터에
defaultErrorComponent 안전망 추가.

---------

Co-authored-by: Jeongeun Lee <leeju1009@gmail.com>
Co-authored-by: deokbin <deokbin@naver.com>
Co-authored-by: Lee Jeongeun <106021313+JeLee-river@users.noreply.github.com>
Co-authored-by: Deokbin Kim <162319857+Db0111@users.noreply.github.com>
Co-authored-by: Cheol Won <76567238+Ryan-Dia@users.noreply.github.com>
Co-authored-by: 이상희 <sang6299@naver.com>
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