Actions
새기능 #5816
완료됨새기능 #5814: ITN-HUB 공공저작물 신유형개방 사업관리 시스템 구축
[ITN-HUB] 프로젝트 골격 및 빌드·테스트 기반
시작시간:
2026/07/22
완료기한:
진척도:
100%
추정시간:
난이도:
중
설명
개요¶
저장소를 열고 화면·서버·DB가 한 덩어리로 돌아가는 상태까지 만든다.
한 일¶
- Spring Boot 3.3.5 + MyBatis + Flyway 골격
organization테이블(기관 명부)과 최초 마이그레이션 V1- React + Vite + Tailwind 프런트 골격, 단일 jar 패키징 구성
- Testcontainers 기반 DB 테스트 하네스
기관 명부 스키마¶
| 컬럼 | 설명 |
|---|---|
| org_no | 연번(기관번호). 텍스트 — 숫자로 바뀌면 앞자리 0이 날아간다 |
| org_name | 기관명 |
| channel_slug | Mattermost 채널 내부명 |
| channel_id_mj / channel_id_law | 생성된 채널 ID 2종 |
(org_no, org_name)에 유니크 제약을 걸었다. 같은 연번을 쓰는 하위기관(경찰청_치안정책연구소)이 있어서 연번 단독으로는 유일하지 않다.
특이사항¶
- 유니크 제약 테스트가 처음에 제약을 실제로 검증하지 않고 통과하고 있었다. 같은 조합을 두 번 넣어 예외가 나는지 확인하도록 고쳤다.
- DB 테스트 하네스에서 Testcontainers를 클래스마다 띄우니 두 번째 테스트 클래스가 Connection refused로 죽었다. Spring 테스트 컨텍스트 캐시가 이미 죽은 포트를 가리키는 DataSource를 재사용하기 때문. 컨테이너를 JVM당 한 번만 띄우고 stop하지 않는 싱글턴 방식으로 바꿔 해결했다.
- 이 문제는 전체 스위트를 돌릴 때만 재현되고 단독 실행하면 통과해서 원인을 찾는 데 시간이 걸렸다.
표시할 데이터가 없습니다.
Actions