코드 생성하기
Code Generator 는 프로젝트의 테이블 스키마를 읽어 Entity 클래스, Service, 화면 코드 같은 반복적인 소스코드를 자동으로 만들어 줍니다. 무엇을 어떻게 생성할지는 템플릿팩(Template Pack)이 결정합니다 — 공개된 팩을 그대로 쓰거나, 직접 만든 팩을 쓸 수 있습니다.
전체 흐름
코드 생성은 세 단계로 이루어집니다. 한 번 설정해 두면 이후에는 테이블 우클릭만으로 코드를 뽑아낼 수 있습니다.
| 단계 | 위치 | 하는 일 |
|---|---|---|
| 1. 팩 추가 | 프로젝트 설정 → Code Generator 탭 | 템플릿팩을 추가하고 출력 위치(Location)와 전역 변수를 설정합니다. |
| 2. 테이블 설정 (선택) | 테이블 상세 → Code Generator 탭 | 엔티티 이름, 타입 매핑 등 테이블별 설정을 다듬습니다. 기본값만으로도 충분합니다. |
| 3. 생성 | 사이드바 트리 → 테이블 우클릭 | "소스코드 생성..." 으로 미리보기를 확인하고 설치하거나 다운로드합니다. |
한 프로젝트에 여러 팩을 동시에 추가할 수 있습니다. 예를 들어 Java 백엔드 팩과 TypeScript 프론트엔드 팩을 함께 추가하면 한 번의 생성으로 두 언어의 코드를 모두 얻습니다.
템플릿팩 추가
프로젝트 설정(Project Configuration)의 Code Generator 탭에서 시작합니다.

Code Generator 탭 열기
프로젝트 설정을 열고 "Code Generator" 탭으로 이동합니다. 처음이라면 "Enable Code-Generator" 스위치를 켜서 설정 화면을 표시합니다.
템플릿팩 추가
[+ Add Template Pack] 버튼을 누르면 Template Pack Store 가 열립니다. 공개(Public) 팩과 내가 멤버로 참여 중인 비공개(Private) 팩이 함께 표시되며, 카드의 [Add] 버튼으로 프로젝트에 추가합니다.
Location 지정 (데스크탑)
생성된 코드가 자동 설치될 로컬 프로젝트의 루트 디렉토리를 지정합니다. 데스크탑 앱에서만 설정할 수 있고, 웹에서는 설치 대신 ZIP 다운로드를 사용합니다.
같은 팩 여러 번 추가와 Alias
같은 팩을 한 프로젝트에 두 번 이상 추가할 수도 있습니다 — 모듈마다 변수 값을 다르게 줄 때 유용합니다. 각 팩 탭의 Alias 입력으로 이 프로젝트 안에서만 쓰는 이름을 붙일 수 있습니다.
팩은 프로젝트로 복사되지 않고 참조로 연결됩니다. 즐겨찾기나 복제 없이도 Store 의 공개 팩을 바로 추가할 수 있습니다.
전역 변수 입력
팩이 전역 변수(Global Variables)를 선언했다면 팩 탭 아래에 Templates Variables 폼이 나타납니다. 기본 패키지명처럼 프로젝트 전체에서 공통으로 쓰이는 값을 입력하는 곳입니다.
어떤 변수가 필요한지는 팩마다 다릅니다. 입력 폼은 팩이 선언한 정의(라벨·기본값·필수 여부)에 따라 자동으로 그려지며, 필수 변수를 비우면 저장 시 검증에 걸립니다.

참고: 설정할 변수·모듈이 없는 팩은 "이 템플릿팩은 설정할 항목(모듈·변수)이 없습니다" 라고 표시됩니다. 추가만 하면 바로 사용할 수 있다는 뜻입니다.
팩 버전과 업그레이드
프로젝트는 팩의 게시(publish)된 버전 하나에 고정(pin)되어 동작합니다. 제작자가 팩을 수정하더라도 새 버전을 게시하고 내가 업그레이드하기 전까지 내 생성 결과는 바뀌지 않습니다.
업그레이드
더 새로운 버전이 게시되면 팩 탭에 "새 버전이 있습니다" 알림과 [업그레이드] 버튼이 나타납니다. 업그레이드 시점은 항상 내가 결정합니다.

라이브 (내 편집본)
내가 만들었거나 편집 권한이 있는 팩에는 "라이브 (내 편집본)" 배지가 표시됩니다. 이때는 게시된 버전 대신 내 편집본이 곧바로 사용됩니다 — 템플릿을 고치면 게시 없이도 내 프로젝트에 즉시 반영되고, 다른 사람과 공유할 때만 배포하면 됩니다.
테이블별 설정
템플릿팩이 추가된 프로젝트에서 테이블을 열면 Schema Editor 옆에 Code Generator 탭이 나타납니다. 코드 생성에 쓰일 테이블별 정보를 여기서 다듬습니다. 모든 항목이 선택 사항이라 기본값 그대로도 생성할 수 있습니다.

엔티티 설정 (모든 팩 공통)
엔티티 이름·별칭·설명과 Soft Delete(삭제 플래그 컬럼, 삭제/미삭제 값, 삭제 일시 컬럼) 설정을 입력합니다. 이 값들은 추가된 모든 팩이 공유합니다.
팩별 상세 설정
아래에는 팩별 탭이 표시됩니다. 탭마다 그 팩이 선언한 엔티티 변수 폼과 필드(컬럼) 그리드가 나타나며, 입력 값은 팩별로 따로 저장됩니다.
| 항목 | 설명 |
|---|---|
| 타입 | 팩의 언어 프로필이 DB 타입을 대상 언어 타입으로 자동 매핑합니다 (예: BIGINT → java.lang.Long). 드롭다운에서 다른 타입을 고르거나 Enter 로 직접 입력해 바꿀 수 있습니다. |
| NAME (필드명) | DB 컬럼명을 변환 규칙(Column Renamer)에 따라 필드명으로 바꾼 값입니다. 테이블 단위로 규칙을 조정하거나 직접 수정할 수 있습니다. |
| META | 이 팩에서만 사용하는 필드별 메타 속성(key-value)을 추가합니다. |
| 초기화 | 행 초기화 버튼으로 renamer 를 다시 적용하고 해당 팩에서 수정한 내용을 되돌립니다. |
소스코드 생성
사이드바 트리에서 테이블을 우클릭하고 "소스코드 생성..." 을 선택하세요. Ctrl/Cmd 클릭 또는 Shift 클릭으로 여러 테이블을 선택한 상태에서 우클릭하면 한 번에 생성합니다.
모달 왼쪽에는 프로젝트에 추가된 모든 팩의 템플릿 트리가, 오른쪽에는 선택한 템플릿의 변환 결과 미리보기가 표시됩니다. 여러 테이블을 선택했다면 상단의 "미리보기 테이블" 선택으로 테이블을 바꿔가며 확인할 수 있습니다.

| 버튼 | 동작 |
|---|---|
| 선택 템플릿 설치 | 체크한 템플릿의 결과 파일을 Location 아래 경로에 바로 생성합니다. 데스크탑 앱에서 Location 이 설정된 경우에만 활성화됩니다. |
| 선택 템플릿 다운로드 | 체크한 템플릿의 결과를 ZIP 으로 다운로드합니다. 웹에서도 사용할 수 있습니다. |
| Preview 다시적용 | 테이블 설정을 바꾼 뒤 미리보기를 다시 렌더링합니다. |
| 태그 필터 · 전체 선택 | 템플릿이 많을 때 태그로 거른 뒤 보이는 템플릿을 한 번에 체크합니다. |
참고: 설치 시 파일별 동작(덮어쓰기 여부, 읽기 전용 생성, git add)은 템플릿에 정의된 Installation 규칙을 따릅니다. 미리보기에서 결과물을 직접 손본 뒤 "이 템플릿만 설치" 로 하나씩 설치할 수도 있습니다.
공개 팩 활용
좌측 메뉴의 템플릿 팩 화면에서 [Store] 버튼을 누르면 공개된 팩들을 둘러볼 수 있습니다. 프로젝트에 추가(Add)하는 것 외에 두 가지 활용 방법이 있습니다.

| 동작 | 의미 |
|---|---|
| Clone | 팩 전체를 내 소유로 복제합니다. 복제본은 원본과 분리되어 자유롭게 수정할 수 있습니다 — 공개 팩을 베이스로 우리 팀 표준 팩을 만들 때 좋습니다. |
| Favorite | 읽기 전용 즐겨찾기로 목록에 추가합니다. 원본 제작자가 새 버전을 게시하면 업데이트를 받아 따라갈 수 있습니다. 내용을 고치고 싶어지면 "복제해서 편집" 을 누르세요. |
프로젝트에서 쓰기만 할 거라면 Clone/Favorite 없이 프로젝트 설정의 [+ Add Template Pack] 으로 바로 추가하는 것이 가장 간단합니다.
