데이터베이스 초기 전략-DDL AUTO 옵션

개발자·2023년 1월 2일
0

CS

목록 보기
1/2

데이터베이스 초기 전략-DDL AUTO 옵션

applicaton.properties에 추가한 jpa 옵션 중에 주의 깊게 봐야 할 설정은 DDL AUTO 옵션이다. spring.jpa.hibernate.ddl-auto 옵션을 통해 애플리케이셔녀 구동 시 JPA의 데이터베이스 초기화 전략을 설정할 수 있다. 전략은 총 5가지가 있다.

  • none : 사용하지 않음
  • create : 기존 테이블 삭제 후 새로운 테이블 생성
  • create-drop : 기존 테이블 삭제 후 새로운 테이블 생성. 종료 시점에 테이블 삭제
  • update : 변경된 스키마 적용
  • validate : 엔티티와 테이블 정상 매핑 확인

update 옵션에서 컬럼 삭제는 엄청난 문제를 발생시킬 수 있기 때문에 컬럼 추가만 반영된다. 개발 초기에는 create 또는 update 옵션을 이용해서 익숙해지는데 집중하고, 추후에 validate 옵션을 설정해 주는 것이 좋다. 실제 운영환경이 아닐 경우에는 개발 편의상 create 옵션을 사용해 개발하는 것이 좋다.

스테이징, 운영환경에서는 절대로 create, create-drop, update를 사용해서는 안 된다. 스테이징과 운영 서버에서는 테이블 생성 및 컬럼 추가, 삭제, 변경은 데이터베이스에서 직접하며, none을 사용하거나 validate를 이용해 정상적인 매핑 관계만 확인해야 한다.

스테이징 환경과 운영환경의 의미
스테이징 환경이란 운영환경과 거의 동일한 환경으로 구성하여, 운영환경에 배포하기 전 여러 가지 기능(성능, 장애 등)을 검증하는 환경이다. 운영환경은 실제 서비스를 운영하는 환경이다.

profile
I DEVELOP THEREFORE, I AM 😄

0개의 댓글