웹마스터 팁

여러차례 제로보드에서 XE로 이전을 해왔지만 신경을 못썼었던 부분이네요 -_-;

 

제로보드4 에서 XE로 마이그레이션툴을이용해 데이터 이전 시 발생하는 문제를 두가지 수정방법을 적습니다.

 

1. 데이터 이전시 1000명이던 회원이 990명이 됐다??

- 원인 :  닉네임이 동일할 경우 데이터가 이전 되지 않는다

- 문제점 : import 모듈에서 동일 닉네임 체크 부분이 있지만  쿼리가 잘못되어있어(소스가 잘못 된걸수도) 중복 검사를 하지 못한다.

- 해결법 :  /modules/member/queries/getMembersrl.xml

<condition operation="equal" column="user_id" var="user_id" pipe="and" />

<condition operation="equal" column="email_address" var="email_address" pipe="and" />

<condition operation="equal" column="nick_name" var="nick_name" pipe="and" />

위 세줄을

<condition operation="equal" column="user_id" var="user_id" pipe="or" />

<condition operation="equal" column="email_address" var="email_address" pipe="or" />

<condition operation="equal" column="nick_name" var="nick_name" pipe="or" />

 

and를 or로 변경해 줍니다. id와 이메일과 닉네임이 동일한 걸 찾으니까 당연히 "없다" 라는 결과를 리턴해 주므로 중복 닉네임이 없는 걸로 판단해 버립니다.

* 회원 정보 이전 후 원래대로 and로 복구 해 주세요.

 

2. 데이터 이전 시 활동 포인트가 이전되지 않아요~

 - 원인 : 회원 포인트를 받아 오지만 저장해주는 소스가 없음

 - 해결법 : 저장해주는 소스 추가

 /modules/importer/importer.admin.controller.php   line 285

// 입력 성공시 그룹 가입 / 이미지 이름 - 마크 - 서명등을 추가

if($output->toBool()){

  // 이곳 아무곳에나 추가해 주세요

  if($obj->point){

      executeQuery('point.insertPoint', $obj);

  }

}

 

서명/ 이미지네임/ 이미지 마크등을 추가하는 소스가 있을 겁니다. 이곳에 포인트 추가 소스를 넣어주면 됩니다.

 

/*

현재 오랫만에 제로보드4에서  XE로 데이터 이전 중인데 역시 처음할때랑은 틀리군요 ㅋㅋ

자잘한 곳까지 신경써서 수정작업을 하게 되네요 ;ㅁ;

*/

 

 

/*

  PS2 : 배포중인 마이그레이션 툴에 위 내용 추가해서 (1번 항목은 쿼리가 같이 수정 되어야 겠지만) 배포해 주시면 더 좋을 것 같습니다. */