Spring Crud Generator v1.2.0 — 향상된 DB 호환성, JSON 컬렉션, 그리고 더 안정적인 Docker 실행
Source: Dev.to
개요
v1.2.0은 실제 프로젝트에서의 사용성을 높이는 데 중점을 두었습니다. 데이터베이스 간 마이그레이션이 더 예측 가능해지고, Docker Compose에서 발생하던 놀라움이 줄어들며, 컬렉션 기반 필드에 대한 JSON 지원이 강화되었습니다. 또한 코드베이스를 보다 유지보수하고 확장하기 쉽도록 내부 리팩터링도 포함되었습니다.
데이터베이스 호환성
- Flyway 스크립트 생성 개선 – 이제 MySQL, MariaDB, MSSQL, PostgreSQL에서 마이그레이션 동작이 보다 일관되어 “내 DB에서는 동작한다”는 문제를 감소시킵니다.
- 크로스‑데이터베이스 Flyway 출력이 더욱 견고해졌습니다.
- 새로운 MySQL 버전( > 8.4 )과의 호환성이 추가되었습니다.
- 예약어가 Flyway 스크립트에서 지원됩니다.
- 고유 제약조건 명명이 일관되고 정확합니다.
JSON 타입 지원
JSON 타입이 이제 컬렉션을 지원하여 최신 API 패턴과 맞아떨어집니다:
JSON>JSON>
이를 통해 도메인 모델을 변경하지 않고도 태그, 속성, 중첩 설정 등 “구조적이면서도 유연한” 데이터를 보다 쉽게 모델링할 수 있습니다.
Docker Compose 개선 사항
- 헬스체크를 추가하여 Spring Boot 애플리케이션이 데이터베이스 서비스가 준비된 이후에만 시작됩니다.
- 노출 포트와 내부 포트 설정을 수정하여 혼란과 런타임 문제를 감소시켰습니다.
- Spring Boot 컨테이너가 데이터베이스가 준비되기 전에 시작되는 일반적인 문제를 해결하여 충돌/재시도 루프를 방지했습니다.
업데이트된 .openapi-generator-ignore
다음 파일은 이제 재생성/덮어쓰기에서 제외됩니다:
pom.xml
README.md
Readme.md
readme.md
내부 개선 사항
- 유지보수성과 향후 확장성을 위해 내부 프로젝트 구조를 리팩터링했습니다.
- 프로젝트 배너를 추가해 런타임 메타데이터(버전, 소스, 출력 경로)를 출력하도록 하여 생성 파이프라인 및 CI 디버깅에 도움을 줍니다.
- 기대되는 출력과 통합 흐름을 보여주는 전용 데모 저장소를 마련했습니다:
https://github.com/mzivkovicdev/spring-crud-generator-demo
업그레이드 안내
이전 버전에서 업그레이드하는 경우, 대부분의 설정에서 v1.2.0은 바로 적용 가능한 업데이트입니다. 여러 데이터베이스를 대상으로 하거나 JSON 매핑 필드를 사용하거나 Docker Compose를 통해 프로젝트를 실행할 때 즉시 혜택을 누릴 수 있습니다.