Flyway는 개발영역에서만 사용

이용전략

  • 개발(로컬)에는 V1__, V2__, V3__ 으로 자유롭게 업데이트 한다.

  • commit & push 전(공개 전): 하나의 파일로 통합하여 정리한 후 정상동작을 확인하고 푸시한다.

  • 스테이지, 운영 단계에 스키마 변경에는 Flyway를 사용하지 않는다.

    • 스키마 변경 전에는 DB 상태 모니터링 하면서 장인정신으로 한땀한땀 반영한다.

    • DB 락 여부 확인, 속도 저하 등을 확인하며 진행

    • 운영데이터가 많이 누적된 경우에 처리속도가 느려 락이 걸리는 등의 상황이 발생할 수 있다.

추가사항

  • H2 인-메모리 디비는 프로토타이핑 용으로 사용한다.

  • H2에서 사용하는 쿼리가 실제 운영단계에 반영되었을 때 문제발생 가능성이 높다.

  • cleanOnValidationError: 검증 중에 에러가 발생하면 자동으로 클린 처리를 함. ← 위험!!

cleanOnValidationError

Whether to automatically call clean or not when a validation error occurs.

This is exclusively intended as a convenience for development. Even tough we strongly recommend not to change migration scripts once they have been checked into SCM and run, this provides a way of dealing with this case in a smooth manner. The database will be wiped clean automatically, ensuring that the next migration will bring you back to the state checked into SCM.

Warning ! Do not enable in production !


스프링 사이트(https://spring.io/)가 리모델링을 거쳤다.

전체적으로 깔끔해지고 카테고리가 정리되었다.

그와 함께 스프링 부트의 위상이 크게 격상되었다는 것도 보인다.

스프링 부트로 만들고

스프링 클라우드로 결합시키고

스프링 클라우드 데이터 플로우로 뭐든지 연결한다!? (아직 스프링 클라우드 데이터 플로우 쪽에는 가보지도 못했는데...)

말그대로 스프링 플랫폼을 위한 기반으로서 확고한 자리를 잡았다. 쉽게 개발하고 배포 및 운영이 용이하기 때문에 앞으로도 꾸준하게 사용자가 늘어날 것이다.

그런 의미에서!! 다음달 중에 나올 제 책을 꼭~ 봐주세요. ㅎㅎ



스프링 부트를 사용하다보면 사람들이 착각하는 게 하나 있다.

스프링 부트로 개발하면서 부딪치게 되는 문제가 모두 스프링 부트에서 발생한다고 생각한다. ㅡ_-)>

실제 문제발생 부분은 본인이 추가한 모듈(JPA라면 스프링 Data JPA와 Hibernate, Web이라면 Spring 5 Servlet Stack, 보안 관련 부분은 Spring Security 5)에 기인한다.

스프링 부트를 이용한 개발 중에 발생한 문제에 대해 묻고 싶다면,
자신이 사용한 스프링부트 버전과 문제가 발생한 기능과 관련된 프레임워크나 라이브러리 버전을 거론해야 한다.

"무턱대고 스프링 부트로 개발하는데 문제가 발생했어요." 라고 묻는 건 잘못된 질문법이다.

자신의 문제를 풀어달라고 하면서, 스무고개 식으로 질문하는 행태를 보고 있으면... 답변해주고 싶지가 않다.

스프링 부트에서 제공하는 모듈을 사용하려면, 그 모듈이 제공하는 기능에 대해서 공부해야 한다.

JPA를 사용한다면, Spring Data JPA와 하이버네이트를 공부해야 하고, 웹기능을 개발한다면 Spring Servlet Stack을 봐야 하고, 비동기 기능을 개발한다면 Spring Reactive Stack을 봐야하는데...

자신이 사용하는 기능에 대한 자기학습없이 무턱대로 코딩부터 하는 습관은 좋지않다.


어떤 기능을 학습함에 있어서 기능을 구현해보면서 학습하는 것은 중요하다. 그러나 그에 앞서서 사용하는 기술의 기본적인 지식과 동작방식을 살펴보자.


+ Recent posts