Chukapoka / server

0 stars 1 forks source link

db migration (aws rds postgres -> h2 file mode) #19

Open doyou1 opened 7 months ago

doyou1 commented 7 months ago

postgres가 사용도 하지않았는데, 사용료 한달 2만원이 나와버림.. 어차피 jpa 사용해서 db 사양에 크게 제약이 없으므로, 내장형인 h2 사용할까 고민중 그치만, inmemory 방식으로 사용하면, 휘발성이라 cicd? 재배포? 시 기존 db 데이터가 날아가버리는 문제가 발생함

h2 filemode db backup, restore 전략

  1. 배포된 서버가 돌고 있을 시에는 src/main/resources/h2-db.db 파일 형태로 현재 db 정보가 저장됨
  2. (새로운 배포 액션이 생겨 github action이 활성화될 경우), 최신의 src/main/resources/h2-db.db를 s3 등 스토리지 서비스에 저장
    • dev, release 브랜치 머지전, 수동으로 저장을 진행할 것인가, github action에 추가할 것인가
  3. 새롭게 배포되는 프로젝트 내부에 s3에 저장되어 있던 최신의 src/main/resources/h2-db.db를 copy하고, 함께 빌드
    • 기존의 db 데이터가 남아있는 상태로 재배포 가능
    • spring.datasource.jpa.hibernate.ddl-auto: update으로 하자