만약 데이터 구조가 바뀌게되면 서비스하고있는 상황이라면 어쩔도리가 없는건가요?

고객님의 문의에 답변하는 직원은 고객 여러분의 가족 중 한 사람일 수 있습니다.
고객의 언어폭력(비하, 조롱, 욕설, 협박, 성희롱 등)으로부터 직원을 보호하기 위해
관련 법에 따라 수사기관에 필요한 조치를 요구할 수 있으며, 형법에 의해 처벌 대상이 될 수 있습니다.

커뮤니티 이용 정책에 위배되는 게시물을 작성할 경우, 별도 안내 없이 게시물 삭제 또는 커뮤니티 이용이 제한될 수 있습니다.

문의 응대 : 평일 오전 10시 ~ 오후 6시
문의를 남기실 경우 다음 항목을 작성해 주세요.
정보가 부족하거나 응대시간 외 문의하는 경우 확인 및 답변이 지연될 수 있습니다.

  • 뒤끝 SDK 버전 :
  • 프로젝트명 : showdown
  • 스테이터스 코드 :
  • 에러 코드 :
  • 에러 메시지 : 만약 데이터구조가 경험치를 예를들어서 캐릭터 하나에 관해서 구조를 짜서 서비스를 하다가 캐릭터가 여러개 만들고싶어서 구조를 캐릭터의 exp 였던상황에서 → 캐릭터1의 exp 캐릭터2의exp 캐릭터3의 exp이런식으로 관리를 하게 만들었다고 가정을하면 데이터처리 구조가 바뀐건데 기존에 서비스를 하고있던상황이면 이전 사용자들의 자료를 다 날릴수는없잔아요… 이럴때는 어떻게 해야하죠? 애초에 처음부터 고려를 하고 만들어야하는건가요?

안녕하세요 개발자님,
초기 기획과 달라지는 데이터에 대해서는 마이그레이션을 하거나,
기존 데이터를 훼손하지 않는 범위로 데이터를 추가 운영하는 방법 등을 고려해 주셔야 합니다.

기존에 User 테이블에 lv, exp 컬럼을 구성하여 운영하였다면,

  1. 새로운 테이블 데이터를 생성하여 처리
    새로 Character 테이블을 만들어 캐릭터별로 row를 삽입하여 운영하거나, ch1_lv, ch1_exp 등의 컬럼으로 구성하여 데이터를 관리하는 방법으로 가능합니다.
    이 때 기존 유저를 위해 최초 로그인 시 User테이블의 lv, evp 등의 데이터가 존재하는지 조회하고 존재하는 경우, Character 테이블에 그대로 복사 저장해주면서, User테이블의 남은 데이터 등의 정보에 따라 기존데이터를 삭제하는 등의 처리를 추가해주시면 됩니다.

  2. 기존 데이터에 정보를 추가하여 처리
    User 테이블의 lv,exp 컬럼을 캐릭터1의 정보로 처리하고,
    이후 새로 생성되는 캐릭터 정보 위와 비슷하게, 해당 테이블 내에 ch2_lv, ch2_exp 등으로 처리할 수 있습니다.
    만약 row를 추가하는 방식으로 한다면, 기존 데이터에 닉네임 정보 등 캐릭터를 식별할 수 있는 컬럼 정보를 추가해주고, 적절히 row를 추가하는 방식으로 운영해주시면 됩니다.

간단한 예시로써 안내드리는 부분이니 참고하여 이용해 주시면 감사하겠습니다.