blues_log

오늘 공부한 내용

  • 내배캠 강의 (JPA 심화)
  • 프로그래머스 알고리즘 문풀

spring.jpa.hibernate.ddl-auto

오늘 내배캠 강의를 듣는데 튜터님께서 application.properties에서 spring.jpa.hibernate.ddl-auto 부분에 대한 언급을 해주셨다.

 

사실 JPA는 아직 잘 모르기 때문에 강의를 들으면서 다른 튜터님께서 설정해주신대로 사용을 하고 있었다.

spring.jpa.hibernate.ddl-auto= update

 

옵션의 종류는 다음과 같다.

  • create: 기존테이블 삭제(DROP) 후 다시 생성(CREATE)
  • create-drop: create와 같으나 종료시점에 테이블 삭제(DROP)
  • update: 변경분만 반영(운영DB에서는 사용 x)
  • validate: 엔티티와 테이블이 정상 매핑되었는지만 확인
  • none: 사용하지 않음(사실상 없는 값이지만 관례상 none이라고 한다.)

여기서 주의할 점은 운영 장비에서는 절대로 create, create-dropm, update를 사용해서는 안된다는 것이다.

 

  • create나 create-drop으로 설정한 채로 운영 DB에 연결하여 애플리케이션을 실행해버리면 운영 DB의 테이블이 몽땅 삭제된다.
  • update의 경우에는 새로 추가된 컬럼이 not null이라면 해당 변경사항이 반영되지 않은 버전을 배포하게 되었을 때 테이블에 데이터가 INSERT되지 않을 수있다.

 

사용은 다음과 같이 사용하자

  • 개발 초기, 로컬에서 테스트 : create, update
  • 테스트 서버 : update, validate
  • 운영서버 : none

 

'TIL&WIL' 카테고리의 다른 글

2023-08-07 TIL (심화 프로젝트)  (0) 2023.08.07
2023-08-03 TIL (BigInteger)  (0) 2023.08.03
2023-07-31 TIL  (0) 2023.07.31
2023-07-28 TIL (Spring AOP)  (0) 2023.07.28
2023-07-27 TIL (필터의 예외처리)  (0) 2023.07.27