inflearn logo
강의

Course

Instructor

Complete One Full Cycle of Backend Service with Spring Boot and AWS

Setting up CI with GitHub Actions

배포 후 Entity 수정 관련

Resolved

75

jkl15451199

8 asked

1

ddl을 validate로 하고 개발을 진행하다가 Entity가 추가되거나 수정될 경우에는 어떤 식으로 개발서버와 운영서버의 database table 싱크를 맞출 수 있나요 ??

 

실무에서는 어떤 방식으로 마이그레이션을 진행하는지 궁금합니다!!

aws mysql docker spring-boot jpa

Answer 1

0

apiece

안녕하세요 석석님.

 

ddl-auto=validate 는 엔티티가 변경되더라도 DB 구조는 자동으로 수정되지 않고 검증만 하는 옵션인데요.

애플리케이션과 DB의 상태를 정말 정확하게 맞출때는 validate를 사용할수도있지만, 실무에서는 none 옵션을 사용하기도 합니다. 이유는 운영 환경에서 애플리케이션 기동 자체가 스키마 검증 실패로 막히는 상황을 피하기 위함입니다.

 

실제 운영에서는 DB 변경이 마이그레이션 도구(Flyway, Liquibase, 또는 사내 DBA가 만들어놓은 절차)를 통해 이미 관리되고 않을 것이기 때문에, JPA가 추가로 검증까지 수행할 필요가 없는 경우가 많습니다. 오히려 컬럼 하나 차이로 서비스가 아예 올라오지 않는 문제가 더 큰 장애로 이어질 수 있어, JPA의 역할을 명확히 분리하기 위해 none 옵션을 선택하는 경우도 많습니다.

운영 DB 의 스키마가 바뀌는 작업은 데이터를 보호함에있어 신중히 이루어져야할 작업입니다. 예를 들어 컬럼이 추가된다면, DB 선 적용후 애플리케이션을 배포해야하며, 컬럼이 삭제된다면 애플리케이션에서 먼저 컬럼삭제 배포후 DB 에 후적용하는게 필요합니다. 이를 통해 배포 과정 중 서비스가 중단되지않고 상위, 하위호환성을 유지할수있게 말이죠.

그래서 이 과정을 자동화 하기 보다 개발자가 직접 보면서 배포하는 경우가 많습니다. 신중히 처리하고, 예상치 못한 문제 발생시 즉시 대응할 수 있기 위함이예요.

 

도움이되셨으면 좋겠습니다.

감사합니다.

 

 

 

1

jkl15451199

친절한 답변 감사합니다 ㅠㅠ 도움이 진짜 많이 됐습니다 :)

0

apiece

좋은질문해주셔서 저도 많이 배웁니다 감사합니다!

맥북으로 RDP 연결 질문

0

13

1

라우팅 테이블 설정 중 궁금한게 있습니다.

0

26

1

프롬프트, 스킬, sub-agent

0

16

0

라이브 운영중인 환경의 테이블에 인덱스 추가시 고려사항

0

18

2

수강 연장 가능하면 요청 드립니다.

0

15

2

RepositoryTest의 패키지 위치가 domain인 이유

0

13

1

JPA Repository 질문이 있습니다!

1

28

2

페이지네이션 처리를 쿼리에서 하는 방식 질문

1

30

1

EC2 실습 중 docker-compose / docker ps 실행 시 권한 오류 문의

2

66

1

gradlew, java -jar 로 애플리케이션 실행시키기에서

1

42

1

application.yaml에서 enabled: true 인식 안됨

3

108

4

영상 안보임

0

81

4

중간 결과물을 다운 받을 수 있는 곳이 있나요?

1

73

2

여러 컨테이너 사용시 사용할 포트 번호는 무엇으로 하면 되나요?

1

59

1

URL 오타 방지

1

55

1

EC2 HTTPS에 관련하여 질문 드립니다!

1

61

2

EC2 <-> RDS 연동 후 로컬에서의 Docker에 대해 궁금한 점이 있습니다.

1

69

1

Docker에 관하여 궁금한 점이 있습니다!

1

56

1

댓글 생성, 삭제 시 게시글의 댓글 수 증감 로직 질문

1

76

1

https 설정 질문

1

93

2

섹션 5-26. AWS EC2 서버 배포 파트 질문입니다.

1

95

2

강의내용 중 질문드립니다.

1

150

2

jakarta persistence 플러그인은 intellij ultimate에서만 사용가능하다고 나오네요.

1

131

2

다운받은 강의자료 압축풀기가 안되요

1

116

2