Repository navigation
Conversation
PNU-2026-AI-Hackathon/pnuai-c-07-finfin2#42 (33a2b2c)의 backend/, database/ 변경을 Fin-BE 경로로 옮겼다. - backend/ → 루트, database/db/migration → src/main/resources/db/migration - 충돌 해결: SearchRequestPolicy import (#33의 미사용 List 대신 Set) - 모노레포 전용 변경(.gitignore, api/)은 제외
#32에서 예금 한도가 min/max_deposit_amount로 분리되었는데 PRD A1~A3 이관분은 min_monthly_limit만 비교하고 있었다. - 예금: 예치 원금(단기 예치액, 목돈 월저축액×기간) vs min_deposit_amount - 적금: 월 납입액(단기 예치액÷기간, 목돈 월저축액) vs min_monthly_limit - 파킹: 예치액 vs min_deposit_amount (V8 기준 예금·파킹 공용)
#35의 V8이 먼저 적용된 DB에서 Flyway가 out-of-order 검증으로 기동에 실패하는 문제를 수정한다.
This was referenced Oct 26, 2026
Backend Code Health ReportCommit:
Attention
Code Issues
|
yuyeol3
marked this pull request as draft
October 26, 2026 09:06
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
변경점 👍
해커톤 모노레포에서 머지된 PRD A1~A3 작업(PNU-2026-AI-Hackathon/pnuai-c-07-finfin2#42)을 Fin-BE로 옮겼습니다.
27c0717: 원본 PR의backend/,database/변경을 Fin-BE 경로로 옮긴 커밋입니다. 작성자는 원저자로 유지했습니다.SearchRequestPolicy의 import 한 줄뿐이었습니다. #33에서 추가된List는 쓰이지 않아서Set만 남겼습니다..gitignore,api/)은 제외했습니다.0c42380: 이관하면서 생긴 의미상 충돌을 수정했습니다(아래).7f525c2: 원본의V7__update_saving_period_options.sql을V9로 옮겼습니다(아래).버그 해결 💊
원본 PR은 예금과 적금이
min_monthly_limit을 같이 쓰던 시점을 전제로 작성됐습니다. #32에서 예금 한도가min/max_deposit_amount로 분리된 뒤로는 금액 하한 검증이 다음처럼 잘못 동작했습니다.min_monthly_limit이 null이라 하한 검사가 사실상 꺼져 있었습니다.min_monthly_limit과 비교하고 있었습니다. V8 주석에 따르면 파킹도min_deposit_amount를 씁니다.수정 후에는 상품 유형에 맞는 금액끼리 비교합니다. 금액은 원본 PR에 있던
normalizedMonthlyDeposit/normalizedDepositPrincipal로 정규화합니다.min_deposit_amountmin_monthly_limitmin_deposit_amount목돈 예금도 이번 수정부터
min_deposit_amount로 검증됩니다. #32 이후로는 검증되지 않던 부분입니다.저축기간 옵션 마이그레이션 번호 (V7 → V9)
#35가 이 V7이 들어올 자리를 비워 두고 V8로 먼저 머지됐습니다. 그래서 #35 이후 서버를 띄운 개발 DB에는 V8까지 적용되어 있고, 여기에 V7이 들어오면 Flyway가 기동 시 검증에 실패합니다(
Detected resolved migration not applied to database: 7.,outOfOrder=false기본값).테스트는 매번 빈 DB에 V1부터 적용하므로 이 문제가 드러나지 않습니다. V9로 옮기면 V8이 적용된 DB와 빈 DB 모두에서 순서대로 적용됩니다. V7 번호는 비워 둡니다. V8은
ALTER만 하므로 빈 DB에서category_optionID는 V7일 때와 같습니다.테스트 💻
EligibilityBoundaryIntegrationTest에 예치금 하한 경계 케이스 5개를 추가했습니다(단기 예금, 단기 적금, 목돈 예금). 수정 전에는 3개가 실패하는 것을 확인했습니다.ParkingProductServiceTest의 하한 테스트가minDepositAmount를 보도록 바꿨습니다../gradlew test(349개)와./gradlew integrationTest(123개)가 모두 통과합니다.bootRun으로 확인했습니다. V7일 때는 위 에러로 기동에 실패하고, V9일 때는Current version: 8 → v9로 적용된 뒤 정상 기동합니다.비고 ✏