Spring Crud Generator v1.2.0 — DB 호환성 향상, JSON 컬렉션, 그리고 더 신뢰할 수 있는 Docker 실행
Source: Dev.to
Overview
v1.2.0은 실제 프로젝트에서의 사용성을 높이는 데 초점을 맞췄습니다. 데이터베이스 간 마이그레이션이 더 예측 가능해지고, Docker Compose 사용 시 발생하던 놀라움을 줄이며, 컬렉션 기반 필드에 대한 JSON 지원이 강화되었습니다. 또한 코드베이스를 보다 유지·보수하기 쉽고 확장하기 쉬운 구조로 내부 리팩터링을 진행했습니다.
Database Compatibility
- Improved Flyway script generation – 마이그레이션이 MySQL, MariaDB, MSSQL, PostgreSQL 전반에 걸쳐 보다 일관되게 동작하도록 개선되어 “내 DB에서는 동작한다”는 문제를 감소시켰습니다.
- Cross‑database Flyway output이 더욱 견고해졌습니다.
- Compatibility with newer MySQL versions ( > 8.4 ) 지원이 추가되었습니다.
- Reserved SQL keywords가 Flyway 스크립트에서 이제 사용할 수 있습니다.
- Unique constraint naming이 일관되고 정확하게 처리됩니다.
JSON Type Support
JSON 타입이 이제 컬렉션을 지원하여 최신 API 패턴에 맞춥니다:
JSON>JSON>
이를 통해 도메인 모델을 변경하지 않고도 태그, 속성, 중첩 설정 등 “구조적이면서도 유연한” 데이터를 보다 쉽게 모델링할 수 있습니다.
Docker Compose Enhancements
- healthchecks를 추가해 데이터베이스 서비스가 준비된 후에만 Spring Boot 애플리케이션이 시작되도록 했습니다.
- exposed vs. internal ports 설정을 수정해 혼란과 런타임 문제를 줄였습니다.
- Spring Boot 컨테이너가 데이터베이스가 준비되기 전에 시작되는 일반적인 문제를 해결하여 충돌/재시도 루프를 방지했습니다.
Updated .openapi-generator-ignore
The following files are now excluded from regeneration/overwrites:
pom.xml
README.md
Readme.md
readme.md
Internal Improvements
- 유지 보수성과 향후 확장성을 위해 내부 프로젝트 구조를 리팩터링했습니다.
- project banner를 추가해 런타임 메타데이터(버전, 소스, 출력 경로)를 출력하도록 하여 생성 파이프라인 및 CI 디버깅에 도움을 줍니다.
- 기대 출력 및 통합 흐름을 보여주는 전용 demo repository를 도입했습니다:
https://github.com/mzivkovicdev/spring-crud-generator-demo
Upgrade Notes
이전 버전에서 업그레이드하는 경우, v1.2.0은 대부분의 설정에서 바로 적용 가능한 업데이트입니다. 여러 데이터베이스를 대상으로 하거나 JSON 매핑 필드를 사용하거나 Docker Compose를 통해 프로젝트를 실행할 때 즉시 이점을 경험할 수 있습니다.
Repository: https://github.com/mzivkovicdev/spring-crud-generator