Modifying Generated Code
Overview
ElastiCORE는 DSL(model/*.yml)을 기반으로 코드를 자동 생성합니다. 생성된 코드를 수정하는 경우, ElastiCORE의 재생성 메커니즘을 이해하고 올바르게 수정해야 합니다.
Generated Code Marker
생성된 소스에는 다음과 같은 마커 주석이 포함됩니다:
/*
* No longer managed by ElastiCORE. You may modify as needed,
* but retain the marker for traceability.
*/
Marker Meaning
- 해당 주석이 있으면 ElastiCORE는 한번만 소스를 생성하고 그 이후로는 재생성하지 않음
- 개발자가 자유롭게 수정 가능
- 추적성(traceability)을 위해 마커를 삭제하지 않는 것을 권장
When Regeneration is Needed
모델(DSL)을 변경한 후 코드를 재생성해야 하는 경우:
- 기존 생성 파일을 백업
- 해당 파일을 삭제
./gradlew elcore실행
# 재생성 절차
# 1. 백업
cp src/main/java/com/example/entity/User.java src/main/java/com/example/entity/User.java.bak
# 2. 삭제
rm src/main/java/com/example/entity/User.java
# 3. 재생성
./gradlew elcore
경고
재생성 시 기존에 수동으로 추가한 코드는 유실됩니다. 반드시 백업 후 진행하세요.