묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
포인트를 db 상에서 업데이트 할 경우의 질문
2016.05.26 18:44
안녕하세요.
포인트를 xe_point 테이블에서 직접 point 컬럼의 숫자를 변경했을 경우, 실제 사이트에는 적용이 안되는 건가요?
그리고 포인트 별로 권한이 설정되어 있는데 이경우도 권한 변경이 이루어지지 않나요?
제가 하고 싶은 것은 point의 숫자 업데이트 하면 그에 따라 권한도 조정을 시키고 싶습니다.
댓글 3
-
sejin7940
2016.05.26 19:05
-
댑펑
2016.05.27 10:13
안녕하세요 세진님. 역시 답변주시는 분은 세진님밖에 없는것같네요..ㅎㅎ;
위처럼 하는 이유는 대량으로 해야 하기 때문입니다..
크론탭으로 매일 처리를 하려고 합니다.
db의 포인트를 변경하고 나중에 웹상에서 포인트에 변화(글작성, 또는 삭제)를 주어도 그룹에 변화가 없던데 이것은 원래 그런건가요?
-
기진곰
2016.05.27 11:51
포인트 변동에 따른 소속그룹 변경은 포인트 모듈의 setPoint() 함수에서 처리해 주고 있기 때문에, 포인트 모듈을 거치지 않고 DB를 직접 조작하면 소속그룹이 바뀌지 않습니다.
crontab으로 처리하신다면 DB를 직접 조작하지 말고 XE의 포인트 모듈을 호출하여 처리해 보세요.
포인트는 DB 에서 추출하는게 원칙이지만 속도를 위해 별도로 캐시파일을 생성해서 주로 그걸 불러오죠
따라서 DB 에서 직접 업데이트를 한 후에는, 관리자페이지에서 캐시파일재생성을 한번 눌러줘야만 제대로 된 포인트로 불러질거예요
포인트별 권한이라는게 아마도 포인트 획득에 따라 레벨이 올라가고 그에 따라 그룹변동을 말하는것 같은데
이건 포인트를 XE 함수를 통해 얻는 과정에서 이뤄집니다.
즉, DB 에서 직접 처리하면 그 때는 바로 안 올라가죠. ( 그 후 포인트가 추가/삭제되는 행위가 있은 후에야 변합니다)
DB 에서 직접 수정하실게 아니라.
관리자페이지->회원->포인트 에서 '회원포인트목록' 탭에서 포인트를 변경해주시면..
이때는 XE함수를 통하기에 레벨-그룹 변동이 바로 발생하게되니 DB 가 아니라 관리자페이지에서해보세요