프로젝트 관리
1. 프로젝트 설정
선행 사항
프로젝트 설정시 사용할 템플릿 팩이 있어야 합니다.
Code Genie 메인 화면에서,
(1) 우측 상단의 SWITCH PROJECT
버튼을 클릭하여 확장시킨 후
(2) Project Bookmarks...
버튼을 클릭하여 Project Bookmarks
창을 엽니다.
NEW PROJECT
: 신규 프로젝트를 설정합니다.IMPORT PROJECT
: 디렉토리에서 기존 프로젝트를 선택합니다.
1-1. Project Config
name | description |
---|---|
Location | 프로젝트 경로 |
Templates | 템플릿 팩 관리에서 설정한 템플릿 팩을 선택 합니다. |
Templates Variables | 템플릿 팩 선택시 템플릿 팩 변수가 노출되며, 기본 값 대신 다른 값으로 변경할 수 있습니다. |
1-2. Audit Table
name | description |
---|---|
Audit Table | 해당 프로젝트의 여러 커넥션, 여러 스키마 중 메인 사용자 테이블을 지정 합니다. 지정한 테이블 또는 엔티티를 템플릿 본문에서 사용할 수 있습니다. 커넥션이 설정된 기존 프로젝트의 경우만 노출되며, 신규 프로젝트 생성시에서는 생성 후 수정 팝업에서 재설정할 수 있습니다. |
Field Names For Creation Field Names For Modification | 테이블에 대응되는 엔티티의 등록자, 등록일시, 수정자, 수정일시에 해당되는 필드명에 해당 됩니다. 해당 필드명 존재 여부에 따른 별도 처리를 템플릿 본문에 사용할 수 있습니다. |
1-3. 프로젝트 상세 이동
신규 프로젝트 생성 또는 기존 프로젝트 IMPORT 시 프로젝트 목록이 나타납니다.
해당 아이콘 클릭 또는 상단 탭 클릭시 프로젝트 상세로 이동 합니다.
2. 프로젝트 상세
2-1. 프로젝트 설정 수정
1. 톱니바퀴 버튼
을 클릭해 1-1. Project Config 팝업을 조회하여 수정할 수 있습니다.
2-2. 커넥션 추가
상단 2. + CONNECTION
을 클릭합니다.
DB 커넥션 정보를 입력합니다.TEST CONNECTION
클릭 후 해당 커넥션의 스키마 목록에서 연결할 스키마를 선택할 수 있습니다.
Table Renamer는 엔티티 이름을, Column Renamer는 엔티티의 필드 이름을 재설정하는 기준 입니다.
해당 커넥션 내에 모두 설정되며, Column Renamer의 경우 각 엔티티의 Column Renamer에서 재설정할 수 있습니다.
커넥션 저장 후 커넥션 별, 스키마 별, 테이블 리스트가 노출 됩니다.
2-3. 커넥션 리로드
해당 DB 커넥션에 해당되는 실제 테이블이 변경된 경우 3. 리로드 버튼
을 클릭해주세요. 데이터베이스 메타데이터를 재조회하게 됩니다.
특정 테이블만 리로드하고 싶은 경우 해당 테이블 상세의 리로드 버튼을 이용해주세요.
2-4. 커넥션 수정
커넥션 정보를 수정하거나 전역 Renamer를 수정하고 싶은 경우 4. 커넥션 수정 버튼
을 클릭해주세요.
2-5. 선택 엔티티 템플릿 전체 설치
테이블 옆 체크박스 선택시 5. INSTALL 버튼
이 활성화 됩니다. 선택한 테이블에 대한 엔티티를 입한 템플릿을 전체 설치 합니다.
2-6. 테이블 리포트 (테이블 정의서)
6. REPORT 버튼
클릭시 스키마를 선택하여 테이블 리포트를 다운로드할 수 있습니다.
3. 엔티티 설정
테이블 선택시 상세 엔티티를 설정할 수 있습니다.
3-1. Entity Configuration
name | description |
---|---|
Name | 클래스 이름 |
Sub Package name | 해당 엔티티가 설치될 패키지 이름 |
Alias | 테이블 별칭 |
Extends Class | 엔티티 클래스가 상속할 부모 클래스 |
Implements Interface List | 엔티티 클래스가 구현할 인터페이스 |
Annotation List | 엔티티 클래스에 적용할 어노테이션 |
Use Business Key | 특정 컬럼을 PK로 지정하고자 하는 경우 활성화하여 해당 컬럼의 business key를 활성화 합니다. |
Use Custom Id | PK가 시퀀스나 자동 증가 값이 아닌 커스텀 설정인 경우 활성화 |
Use Mark As Delete | 삭제 여부 컬럼 지정 |
Sequence Name | 해당 테이블에서 사용되는 시퀀스 이름 |
3-2. Column Renamer
해당 커넥션 전체에 영향을 미치는 Column Renamer 대신 해당 엔티티에만 설정하고 싶은 경우 사용 합니다.
3-3. Attributes Configuration
해당 테이블의 컬럼과 각각에 대응되는 엔티티 필드에 대한 설정 입니다.
- 각 필드의 일반적인 타입 대신 커스텀 타입(Enum)을 지정하고 싶은 경우
USER JAVA TYPE
을 설정 합니다. - 특정 컬럼에 별도 설정(암호화나 typeHandler 지정)을 하고 싶은 경우
Meta Attributes
에 추가 해주세요.
4. 템플릿 변환 결과
테이블의 엔티티 설정이 끝마쳤다면 드디어 템플릿을 설치할 수 있습니다!
velocity 문법을 정상적으로 작성했다면 해당 화면에서 템플릿 결과를 확인할 수 있습니다.
왼쪽 체크박스를 이용해 특정 템플릿만 설치하거나 전체 템플릿 설치, 이 템플릿만 설치를 통해 템플릿을 설치주세요.
5. .genie 디렉토리 구조
코드지니를 통해 프로젝트를 설정했다면 .genie
라는 디렉토리가 생성된 것을 확인할 수 있습니다.
이 디렉토리는 신규 프로젝트 설정시 생성되며, 해당 디렉토리 존재 여부에 따라 기존 프로젝트로 판단됩니다.
디렉토리 구조는 아래와 같습니다.
name | description |
---|---|
project-config.json | 대상 프로젝트 전역으로 사용할 설정이 들어갑니다. 프로젝트 아이디, 프로젝트 이름, 템플릿 변수, audit table, 컨버팅 필드 |
connections | 대상 프로젝트에는 여러 DB 커넥션을 설정할 수 있으며, 각 커넥션 별 디렉토리가 해당 디렉토리 아래에 생성 됩니다. |
0_iflex | 각 DB 커넥션에 관한 정보가 들어갑니다. 형태는 [커넥션 아이디]_[커넥션 이름] 이며, 커넥션 아래에 설정한 스키마 디렉토리가 생성 됩니다. |
connections.json | 각 DB 커넥션에 관한 설정 파일 |
iflexdb | 해당 커넥션에서 설정한 스키마 입니다. 해당 디렉토리 아래에 [테이블 이름].json 형태의 엔티티 설정 파일이 생성 됩니다. |
함께 작업하는 팀원이 있는 경우
엔티티 설정이나 프로젝트 설정 등은 모든 팀원과 함께 공유되어야 합니다.
리모트 저장소에 이 디렉토리를 포함해주세요.