INFRA/DB (2) 썸네일형 리스트형 [INFRA/DB] 롤백을 고려해 하위호환성을 갖춘 스키마 설계하기 📑 Table of Contents📝 롤백을 고려하게 된 이유🤔 스키마는 어떻게 롤백할 수 있지?🙋 첫 시도, 롤백용 스크립트를 작성하기🔍 스키마 롤백, 꼭 필요한가? ✅ flyway 를 사용함으로서 하게 된 오해 ✅ SRE 원칙을 통한 깨달음🚀 Expand and Contract 전략 ✅ 예시로 이해해보기 ✅ DDL 별 원칙🚀 Flyway 설정 일부 변경🚀 시드 데이터가 필요한 경우, R prefix 사용하기📝 롤백을 고려하게 된 이유지난 1개월하고도 몇주간의 프로젝트를 진행하는 상황에서, 우리는 잦은 요구사항의 변화를 겪게 됐다. 이에 따라 코드는 빠르게 변경이 이뤄졌고, 버그 픽스도 심심찮게 필요했다. 그러나 QA 를 하거나, 데모데이를 해야 하는 .. [INFRA/DB] Flyway를 고르기까지 - DB 의 마이그레이션도 에자일해야 해 🤔 왜 DB 스키마 마이그레이션 도구의 도입을 고민하게 되었는가에자일 한 방식으로 1차 데모데이 / 2차 데모데이를 거치면서 개발에 임하고 있는 현재, 계속해서 엔티티의 구성이 달라지는 것은 당연하다. 우리 팀의 경우에도 기획에 2-3번은 엎어지고, 일부가 조금씩 수정되기도 했다. 뿐만 아니라 팀원 간의 이해가 조금씩 어긋나서 엔티티의 구조가 달라지는 경우도 허다했다. 그렇기에 DB 스키마 마이그레이션 도구가 필요할 것이라는 예상은 하고 있었다. 그러나 생각보다 빨리 필요성을 느끼게 되었다. 배포 환경에서 500 에러가 터졌기 때문이다. 왜 문제 상황이 발생했을까?기존에 amount 라는 필드가 존재했다. 그러나 이의 명확성을 위해 cupAmount 라는 필드명으로 변경했다.그러나 운영 환경의 ddl-.. 이전 1 다음