application.properties에 추가한 jpa 옵션 중 주의 깊게 봐야 할 설정은 DDL AUTO 옵션이다. spring.jpa.hibernate.ddl-auto 옵션을 통해 애플리케이션 구동 시 JPA의 데이터베이스 초기화 전략을 설정할 수 있다. 총 5개의 옵션이 있다.
update 옵션에서 컬럼 삭제는 엄청난 문제를 발생시킬 수 있기 때문에 컬럼 추가만 반영된다. 개발 초기에는 create 또는 update 옵션을 이용해서 익숙해지는 데 집중하고 추후에 validate 옵션을 설정해주는 것이 좋다.
스테이징, 운영환경에서는 절대로 create, create-drop, update를 사용하면 안된다. 스테이징과 운영 서버에서는 테이블 생성 및 컬럼 추가, 삭제, 변경은 데이터베이스에서 직접하며, none을 사용하거나 validate를 이용해 정상적인 매핑 관계만 확인해야 한다.
스테이징 환경이란 운영환경과 거의 동일한 환경으로 구성하여, 운영환경에 배포하기 전 여러 가지 기능(성능, 장애 등)을 검증하는 환경이다. 운영환경은 실제 서비스를 운영하는 환경이다.
해당 게시글은 변구훈, 『스프링 부트 쇼핑몰 프로젝트 with JPA』, 로드북, 2021를 참고하여 작성하였습니다.