drop table할수도 없고...
어떡하지? 곤란한걸...
그리고
예를들면
전체 유저에게 가입자 1억 돌파 감사선물로 500포인트를 추가한다고 해봐.
이거 트랜잭션이 너무 크잖아.
어떻게 처리함?
그냥 전체유저셀렉트해서 일일히 500포인트 추가하고
일일히 업데이트함?
분할해서 업데이트하는 기법은 없어?
예를들면 단순 500포인트가 아니라 복잡한 로직이 쓰인다면?
그 로직에 다른 엔티티 쿼리까지 들어간다면?
뭔가 방법 없음?
내가 취하고 싶은 방법은
잠시 서비스 중단시킨다음에 배치프로그램 돌리는건데
웹서비스에 서비스 점검이라는게 있나?
어떡하지? 곤란한걸...
그리고
예를들면
전체 유저에게 가입자 1억 돌파 감사선물로 500포인트를 추가한다고 해봐.
이거 트랜잭션이 너무 크잖아.
어떻게 처리함?
그냥 전체유저셀렉트해서 일일히 500포인트 추가하고
일일히 업데이트함?
분할해서 업데이트하는 기법은 없어?
예를들면 단순 500포인트가 아니라 복잡한 로직이 쓰인다면?
그 로직에 다른 엔티티 쿼리까지 들어간다면?
뭔가 방법 없음?
내가 취하고 싶은 방법은
잠시 서비스 중단시킨다음에 배치프로그램 돌리는건데
웹서비스에 서비스 점검이라는게 있나?
해당 댓글은 삭제되었습니다.
엔티티 수정하는건 어떻게 함?
그리고 예시가 잘못된듯. 원하던 상황은 엔티티 틀 자체를 수정하는 경우와
데이터를 일괄적으로 수정하는 경우였음. 이전 데이터는 사용하지 못하게 막는게 핵심이었고.
근데 변경 이전의 데이터에 접근제한같은건 둬야할 상황이 없긴 한거같다. 그걸 막겠다는건 서비스를 일시중단하겠단 뜻인거같음.
여튼 질문은 db가 변경되면 어떻게 반영함? 하는것
디비 설계 다시 갈아엎기 ㅇㅅㅇ
다시 갈아엎으면 기존 데이터셋과 매핑 어케해줌?
고도화라면 갈아엎는거고 백업, 마이그레이션 진행 그게 아니면 마스터 테이블에 딸린 서브 테이블 구성 ㅇㅅㅇ 등등등등 ㅇㅅㅇ
마이그레이션으로 검색해보면 되나
어쨌든 최대한 덜 갈아엎는것이든 뭐든 백업 및 최소 수정 후 마이그레이션 계획 필요 ㅇㅅㅇ 폭탄을 해체하는 느낌으로 ㅇㅅㅇ
근데 엔티티에 칼럼하나 추가했다고 마이그레이션해야되나? 흐음.... 비용 세보이는데 데이터가 차곡차곡저장되어있던게 데이터 사이즈가 변경되는 거라고 생각해보면 칼럼하나 추가하는게 꽤 큰거같기도하고
보통 마스터 안건드리고 서브 테이블 만들어서 마스터껏 매칭하게 만드는 경우도 많지 ㅇㅅㅇ
서브테이블을 만들면 마스터테이블이랑 매칭하기 위한 외래키가 마스터테이블에... 아하 외래키를 서브테이블에 두는게로군
근데 이러면 구조가 더러워지니까 최대한 처음에 잘짜야겠네
로그인시점에 사용자확인 알림 추가