오늘 공부한 내용
- 내배캠 강의 (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 |