티스토리 뷰

개요

  • JHipster 기반 프로젝트에서 커맨드라인 도구를 이용하여 엔티티의 변경을 실행하고, 변경점에 대해서 자동으로 LiquibaseXML 파일을 생성하는 방법을 정리하였다.

데이터베이스 형상관리 방식을 증분으로 변경

  • 프로덕션 레벨의 데이터베이스 형상관리는 데이터베이스의 변경점이 증분으로 관리되어야 한다. JHipster 7 버전에 추가된 incremental-changelog 옵션을 활성화하여 프로젝트의 데이터베이스 형상관리 방식을 증분으로 변경할 수 있다.
# 증분 방식으로 Liquibase XML 파일을 수정
$ jhipster --incremental-changelog

# incrementalChangelog 옵션 활성화 확인
$ cat .yo-rc.json
{
  "generator-jhipster": {
    "incrementalChangelog": true,
  }
}

데이터베이스 형상관리 예

  • jhipster entity {entity-name} 명령을 실행하면 특정 엔티티 클래스의 컬럼 필드에 대한 추가, 변경, 삭제가 가능하다.
  • 대화형 인터페이스로 필요한 작업을 진행하고 최종적으로 명령이 실행되면 src/main/resources/config/liquibase/changelog/{file-name}.xml 경로의 파일이 자동 생성되며, 또한 src/main/resources/config/liquibase/master.xml 파일에 신규 생성된 파일이 자동적으로 포함된다.
$ jhipster entity Foo
Do you want to update the entity?
> Yes, add more fields and relationships
> Do you want to add a field to your entity? [y]
> What is the name of your field? [fooTimestamp]
> What is the type of your field? [Instant]
> Do you want to add validation rules to your field? [n]
> Do you want to add a field to your entity? [n]

force .yo-rc.json
force .jhipster/Foo.json
force src/main/java/com/jsonobject/example/domain/Foo.java
create src/main/resources/config/liquibase/changelog/20220118042441_updated_entity_Foo.xml
create src/main/resources/config/liquibase/changelog/20220118042441_updated_entity_migrate_Foo.xml
force src/main/resources/config/liquibase/master.xml

참고 글

댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함