6, 도메인구성 강의에서 ddl-auto: update 부분 질문있습니다.
88
작성한 질문수 6
안녕하세요:)
도메인구성 강의 중 ddl-auto : update로 처음 설정 한 뒤 서버를 돌렸을 때 member 테이블 생성이 안되어서 ddl-auto: create로 바꾸신걸까요?? 제가 헷갈리는 부분이 처음 member테이블을 생성할 때는 ddl-auto: update로 설정했을 때에도 테이블생성이 되는 걸로 알고 있어서요.
혼자서 스프링부트 jpa프로젝트 만들엇을때도 ddl-auto:udpate로 엔티티테이블 잘 생성되었던 것 같은데 update를 꼭 create로 처음에 (지금처럼 member 테이블을 처음생성할 때) 바꿔줘야하는 건가요??
답변 2
0
안녕하세요
update로도 최초 테이블 구성이 됩니다. 다만, 컬럼의 길이나 타입 변경시에 자동반영이 안되기에 개발의 편의상 create모드로 두고, 혼란의 여지를 없애고자 했습니다~!
0
안녕하세요, 인프런 AI 인턴입니다. hun1246님.
DDL (Data Definition Language) 옵션에 대해 질문하셨군요. JPA를 사용할 때 ddl-auto 설정은 엔티티 클래스와 데이터베이스 테이블 간의 관계를 정의하고 관리하는 데 중요한 역할을 합니다. 다음은 각 모드의 역할과 함께 혼란스러우실 수 있는 부분을 설명드리겠습니다.
ddl-auto: update:- 이 설정은 이미 존재하는 데이터베이스 테이블을 업데이트하여, 엔티티 클래스에서 변경된 내용만 데이터베이스에 반영합니다.
- 그러나 처음 데이터베이스에 연결할 때, 테이블이 존재하지 않기 때문에
update모드는 새로운 테이블을 생성하지 않습니다. 따라서 새 프로젝트나 테이블이 아직 생성되지 않은 경우에는 사용할 수 없습니다.
- 이 설정은 이미 존재하는 데이터베이스 테이블을 업데이트하여, 엔티티 클래스에서 변경된 내용만 데이터베이스에 반영합니다.
ddl-auto: create:- 이 설정은 애플리케이션이 시작될 때마다 모든 테이블을 삭제하고, 엔티티 클래스의 구조에 맞게 데이터베이스 테이블을 새로 생성합니다.
- 데이터가 손실될 위험이 있기 때문에, 초기 개발 단계나 테스트 환경에서만 사용하는 것이 좋습니다.
- 이 설정은 애플리케이션이 시작될 때마다 모든 테이블을 삭제하고, 엔티티 클래스의 구조에 맞게 데이터베이스 테이블을 새로 생성합니다.
처음 테이블 생성 시:
- 개발 초기에 스키마를 빠르게 생성하기 위해
create모드를 사용하는 것이 일반적입니다. 이후 필요에 따라update또는none모드로 변경하여 기존 데이터 유지 및 안전한 데이터베이스 마이그레이션을 할 수 있습니다.
- 개발 초기에 스키마를 빠르게 생성하기 위해
이런 설정을 바탕으로 처음 개발 단계에서는 ddl-auto: create를 사용하여 테이블을 빠르게 설정한 후, 이후에는 update를 사용하여 엔티티 클래스와 데이터베이스 간의 변경 사항을 관리하시는 것을 권장드립니다.
아래 유사한 질문과 답변 링크도 참고해 보세요:
- JPA ddl-auto 속성에 대한 이해
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
ERD 질문
0
61
2
StompHandler 관한 질문
0
84
2
리프레시 토큰은 알아서 구현하면 되는건가요??
0
81
2
cors, csrf 직접 구현
0
66
1
JWT 필터구현
0
105
2
강의 잘듣고 있습니다. 혹시 다음 강의 계획은 없으신가요?
0
58
1
STOMP 동작 과정 질문
0
51
1
chain.doFilter()
0
45
1
자바 21로 소스 작성해도 되나요?
0
62
2
메시지 브로커 선택에 관한 질문
0
66
2
WebSocket과 Spring Security 질문
0
82
2
추가 커스텀 구현 질문 있습니다.
0
61
2
connect와 동시에 구독하는데 구독 검증이 꼭 필요한가요?
0
97
2
저도 동일한 질문인데
0
80
3
token이 필요한 엔드포인트에 의도적으로 토큰 누락시 대처
0
69
2
수업자료가 왜 다 나눠져있나요?
0
80
2
메시지 전송 시 검증
0
62
2
JWT 생성 시 subject 설정에 대한 질문
0
161
3
StompHandler 질문 있습니다.
0
82
2
앱 서비스일 경우
0
87
2
웹소켓 서버 재배포시 고려해야 할 상황 질문
0
113
2
배포 오류 질문
0
126
2
/connect 경로에 대한 토큰 검증의 필요성
0
80
1
JwtTokenProvider 작성중 오류 발생으로 문의드립니다.
0
101
2





