빌더 만들기

코드지니를 사용하기 위해서는 genie.conf.js 파일을 작성해야 합니다.
해당 파일을 기준으로 설정한 데이터가 반영되며 설치 됩니다.
설치 당시에는 범위 별로 변경할 곳을 지정할 수 있습니다.

1. NPM 설치 방법

NPM 패키지로 genie.conf.js 샘플 파일과, genie-sql 샘플 파일을 제공합니다.
아래 명령어를 통해 설치 및 사용 할 수 있습니다.

cd {프로젝트 디렉토리 최상단}

npm i -g @unvus/code-genie

codegenie init

# simple 옵션 
codegenie init simple

# 정상 설치 확인 
npm ls -g --depth=0
  • codegenie init 명령어는 프로젝트 디렉토리 최상단에서 실행해야 합니다.

  • 해당 명령어 실행시 genie-config, genie-sql 디렉토리가 생성됩니다.

    • genie-config 디렉토리 하위에 genie.conf.js 파일이 생성되며, 해당 파일을 수정하여 사용합니다.
    • genie-sql 디렉토리 하위에는 DB 별 sample SQL 파일이 생성되며, 해당 파일을 수정하여 사용합니다.
      사용하지 않는 SQL 파일은 삭제하거나, 내용을 수정하여 사용합니다.

  • 또한 option simple 을 추가하여 실행하면, simple builder 를 위한 genie.conf.js 파일이 생성되게 됩니다.

    • 명령어: codegenie init simple

NPM 패키지 링크 : https://www.npmjs.com/package/@unvus/code-genie

2. genie.conf.js 파일 설명

각 범위에 적용시 사용되는 함수는 엔진이라 부르며 어느 범위에서든 선택해서 사용할 수 있습니다.

  • CopyAndReplaceContent : 대상 디렉토리를 복사하여 내용 치환 및 파일명을 변경
  • ReplaceContent : 대상 디렉토리의 파일 내용 치환
  • RenameFile : 대상 디렉토리의 파일명 변경
  • MoveJavaPackage : 대상 디렉토리로 이동

2-1. globalEngines

전역 사용하는 곳에 지정된 엔진을 실행합니다.
예를 들어 다음과 같이 설정할 수 있습니다.

  • 최상위 디렉토리의 파일 내용 변경
    • 기본 패키지
    • 메이븐 아티팩트 아이디
    • 프로젝트명
    • 프로젝트 아이디
    • DB 드라이버
    • 각 모듈별 메이븐 모듈 이름
    • 각 모듈뵬 버전 및 설명
  • .genie 설정 디렉토리 파일 내용 변경
    • 스키마명
    • 테이블 프리픽스
    • 프로젝트명
    • 프로젝트 아이디
  • engineGenieRename : .genie 설정 디렉토리 파일명 변경
  • engineGenieSqlCopy : genie-sql 설정 디렉토리 파일 내용 변경
    • 테이블 프리픽스
    • 각 DB 기초 데이터

2-2. moduleCallback

지정된 엔진을 각 모듈별로 실행합니다. 예를 들어 다음과 같이 설정할 수 있습니다.

  • application.yml 내용
  • 모듈 기본 패키지
  • 메이븐 아티팩트 아이디
  • Properties 파일명
  • 모듈명
  • 모듈 아이디
  • 부트 클래스에서 스캔 대상 컴포넌트

2-3. baseConfig

엔진을 사용하지 않고 독립된 함수 convertGenieConnection를 사용합니다. 다음과 같은 내용을 변경 합니다.

  • .genie/connections/커넥션명/connection.json
  • .genie/connections/커넥션명/스키마 => 스키마 디렉토리 이름 변경
  • .genie/connections/커넥션명 아래의 모든 테이블의 스키마 변경