[12.23] ddl-auto 전략

Always·2024년 12월 23일
0

매일메일

목록 보기
2/69


https://www.maeil-mail.kr/question/28

ddl-auto에는 크게 5가지가 있는데 이 중 none,validate 은 운영환경에서, update, create, create-drop 은 개발환경에서 사용해야함

None

ddl-auto:none을 사용하면, 데이터베이스 스키마를 변경하지 않는 것을 의미한다. 실제 db 스키마를 수동으로만 제어하고자 할때 사용함

Validate

ddl-auto:none을 사용하면, 데이터베이스 스키마와 엔티티 매핑이 같은지를 검증한다.

Update

ddl-auto:update를 사용하면, 엔티티의 변경사항이 데이터베이스 스키마에 반영되며, 기존의 데이터는 유지됨

Create

ddl-auto:create를 사용하면, 어플리케이션이 시작될 때 스키마를 삭제하고 새로 생성한다. 데이터가 모두 삭제되며 엔티티 매핑을 기반으로 새로운 스키마가 생성되므로 초기개발환경에 적합하다

Create-drop

ddl-auto:create-drop을 사용하면 create와 같지만 어플리케이션이 종료될 때 스키마를 삭제한다는 점이 다르다. 일시적인 db가 필요한 테스트 코드환경에서 사용함

프로덕션 환경에서의 스키마 변경시

Flyway, Liquibase를 이용해서 db 마이그레이션을 하는 것이 안전함

추가 공부사항

https://velog.io/@msw0909/Entity%EC%84%A4%EA%B3%84%ED%95%98%EA%B8%B0

profile
🐶개발 블로그

0개의 댓글