728x90
회원가입하고 서버를 재시작하면 자꾸 데이터베이스가 초기화돼서 처음에는 h2-database 때문인줄 알았는데, mariaDB로 바꿔도 같은 문제가 발생했다.
application.yml을 확인해보니 spring.jpa.hibernate.ddl-auto : create-drop으로 설정되어있었고, 이것때문에 재시작할 때마다 db가 초기화되는 거였다.
DDL AUTO 옵션 (spring.jpa.hibernate.ddl-auto)
spring.jpa.hibernate.ddl-auto 옵션은 Jpa의 Database 초기화 전략을 의미한다. 설정 가능한 값은 아래 5가지이다.
- none : 아무것도 실행하지 않음
- create : 기존 테이블 삭제 후 다시 생성
- create-drop : create 옵션 + 종료 시점에 테이블 drop
- update : 변경된 스키마를 적용
- validate : 엔티티와 테이블 정상 매핑 확인
주의할 점
- 운영 장비에서는 절대 crate, create-drop, update 사용하면 안된다.
- 개발 초기 단계는 create 또는 update
- 테스트 서버는 update 또는 validate
- 스테이징과 운영 서버는 validate 또는 none
반응형
'백엔드' 카테고리의 다른 글
[Spring Boot] 계층 카테고리 Entity (0) | 2024.07.16 |
---|---|
[IntelliJ] git 프로젝트 가져오기 (0) | 2024.07.16 |
[AWS] 1년 무료 프리티어 계정에 요금 청구됨 (0) | 2024.06.03 |
[DB 설계] PK에 더 적합한 자료형은 varchar? bigint? (0) | 2024.05.30 |
[AWS] spring boot 연결 - 오류 "Port 8080 was already in use" (0) | 2024.05.30 |