44강 AWS 배포시 테이블생성 질문있습니다!
387
작성한 질문수 2
local에서는 테이블 생성이나 변경된점을 자동으로 생성및 변경해줘서 인텔리제이에서 할때는 테이블을 생성하지 않았습니다. 리눅스서버에는 테이블과 컬럼을 다 작성해서 만들어 줘야하는 부분일까요??
답변 1
0
안녕하세요 현우님!! 좋은 질문 감사드립니다~ 🙂
결론부터 말씀드리면 개발자가 선택할 수 있는 부분입니다!
강의에서 다루었던 것처럼 JPA를 사용할 경우에, ddl-auto 옵션을 통해 여러가지 DB 테이블 조작을 할 수 있습니다. 예를 들어 update 라는 설정을 주어 테이블의 변경된 지점을 자동으로 관리해줄 수 있고, create 라는 설정을 통해 테이블을 제거했다가 새로 만드는 것을 자동으로 해줄 수도 있죠. none 으로 설정하고 저희가 직접 리눅스에서는 테이블을 만들어줄 수도 있고요!
각 방법에는 장단점이 있습니다.
우선 update 같은 경우는, 개발자가 테이블을 매번 챙겨줄 필요가 없다는 장점이 있어요! 하지만 세밀하게 테이블을 관리하고 싶다거나, 서비스의 테이블 구조와 실제 테이블이 달라야 할 필요가 있다면 대응하기가 어렵다는 단점이 있습니다.
create 나 create-drop 같은 경우는 테이블이 삭제되는 과정이 있기 때문에 개발 및 배포 환경에서는 사용하기 부적절하고요!! (데이터가 모두 사라지니까요!!)
none 같은 경우는 update 와 반대로 테이블을 매번 챙겨줘야 하지만, 세밀하고 유연한 제어가 가능하다는 장점이 있습니다.
또한 추가적으로 강의에서 다루지는 않았지만 flyway 와 같은 마이그레이션 툴을 관리해서 DDL을 자동으로 적용시키기도 합니다. (이 툴은 MySQL 8 버전과 사용하려고 할 경우 유료에요! 🥺)
답변이 도움이 되었으면 좋겠습니다.
감사합니다! 🙏
패키지 구분에 대해 궁금한게 있습니다
0
25
2
리액트 관련 질문이 있습니다.
0
65
2
스프링부트 버전
0
76
2
7강 강의를 들으려고 했는데 오류가 나서 서버가 안 켜지는거 같아요.
0
59
2
33강. UserLoanHistory의 관계성에 대한 질문
1
56
2
Java JDK 버전 문의의 건
0
135
2
ec2 에서 Linux버전이 달라져서 설치가 안되는것 같은데 자료 최신화좀 해주세요.
0
90
3
h2 console 접속했을 테이블 질문
1
67
1
ec2 서버에서 스프링 실행도 되고 인바운드 설정까지 했는데 index.html 안됨
0
80
2
15강. updateUser() 질문
0
57
2
깃허브 질
0
84
2
여기까지 다 끝냈다고 하셨는데
0
79
2
왜안될까요
0
72
2
MySQL 창이안ㄴ뜹니다
0
59
2
포스트맨
0
52
1
spring 개념적인 질문
0
72
2
인텔리제이 샘플코드 실행 안됨 오류
0
142
2
aws 배포할때 .env 파일에 저장한 환경변수에 관하여 여쭤볼게 있습니다
0
87
1
마이그레이션 오류입니다.
0
175
3
Whitelabel Error Page 오류가 났습니다.
0
166
2
안녕하십니까! 오류가 났습니다.. 도와주세요 ㅜㅜ
1
94
3
궁금한게 있습니다.
0
61
2
DTO 관련
0
70
2
궁금한게 있습니다!
0
69
2





