반응형
spring.jpa.generate-ddl = true 또는 false
실행 시 데이터베이스를 초기화하는 기능을 on/off
spring.jpa.hibernate.ddl-auto
- none 아무것도 안함
- create 기존 테이블은 삭제되고 새로 생성한다.
- validate 변경된 스키마가 있으면 변경된 점을 출력. DDL을 수정하지 않음.
- update 테이블과 엔티티를 비교해서 변경된 스키마 적용
- create-drop 실행 시 테이블을 drop 및 생성, 종료 시 테이블을 drop
🟢 주의사항
- 개발 초기 단계는 create 또는 update를 쓴다.
- 테스트 서버는 update 또는 validate를 쓴다.
- 스테이징과 운영 서버는 validate 또는 none을 쓴다.
- 운영 서버에서 create, create-drop, update
- 개발 서버나 개발 단계에서만 create, create-drop, update처럼 DDL을 수정하는 옵션을 사용한다.
- embeded 데이터베이스는(hsqldb, h2, derby) 기본값이 create-drop
- 그렇지 않은 데이터베이스는 기본값이 none
참고 👇
https://docs.spring.io/spring-boot/docs/1.1.0.M1/reference/html/howto-database-initialization.html
https://pravusid.kr/java/2018/10/10/spring-database-initialization.html
반응형
'ORM > JPA' 카테고리의 다른 글
[Error] org.hibernate.LazyInitializationException: could not initialize proxy (0) | 2022.07.20 |
---|---|
@JoinColumn (0) | 2022.05.19 |
변경 감지(Dirty Checking) (0) | 2022.05.18 |
[Error] No default constructor for entity (0) | 2022.01.25 |
[Error] java.lang.IllegalStateException (1) | 2021.07.24 |