1

주제: 텍스트 큐브로 업그레이드 후 checkup 단계에서 실패...

업그레이드 문서(http://help.tattertools.com/ko/Migration#.EA.B0.88.EC.95.84.ED.83.80.EA.B8.B0.EC.97.90.EC.84.9C_.EB.B0.9C.EC.83.9D.ED.95.98.EB.8A.94_.EC.9E.A6.EC.9D.80_.EC.98.A4.EB.A5.98_.EC.95.8C.EB.A6.BC)에 따라서 진행 후 소스를 덮어 씌운 후 checkup 을 하는데, 처음에 몇개는 성공하고 대부분이 실패했습니다. 그런 후 '되돌아가기' 해서 보니 아무 글도 없고, 관리자모드로 들어가니 로그인 후 아무것도 안 보입니다.

다시 checkup 을 했더니, 모든 항목이 '실패'가 됩니다. 아래처럼

텍스트큐브를 점검합니다.

    * 블로그 설정 테이블의 시간대 필드 속성을 변경합니다.: 실패
    * 블로그 설정 테이블의 언어 필드 속성을 변경합니다.: 실패
    * 블로그 설정 테이블에 RSS 공개 정도 설정 필드를 추가합니다.: 실패
    * 설정 테이블에 블로그 언어 설정을 위한 필드를 추가합니다.: 실패
    * 글을 쓸 때 사용할 편집기와 포매터를 선택하는 필드를 추가합니다.: 실패
    * 본문 테이블에 작성자 정보를 위한 필드를 추가합니다.: 실패
    * 본문 테이블의 인덱스를 수정합니다.: 실패
    * 스킨 테이블의 필드 이름을 변경합니다.: 실패
    * 본문 테이블의 필드 이름을 변경합니다.: 실패
    * 테이블의 필드 인덱스를 변경합니다.: 실패
    * 기본 스킨을 변경합니다.: 실패
    * 플러그인이 생성한 Database_SubscriptionLogs 테이블의 owner 필드를 변경합니다.: 실패
    * 플러그인이 생성한 Database_SubscriptionStatistics 테이블의 owner 필드를 변경합니다.: 실패
    * 서비스 설정값 테이블의 필드 속성을 변경합니다.: 실패
    * 페이지 캐싱을 위한 테이블을 추가합니다.: 실패

완료되었습니다.

되돌아가기

어떤 부분을 살펴봐야할까요? 일단 이전 버젼(태터툴즈 마지막 버젼이었지 싶습니다) 백업은 해뒀습니다.

2

답글: 텍스트 큐브로 업그레이드 후 checkup 단계에서 실패...

이것저것 살펴보다가 config.php 에서 ini_set('display_errors', 'off'); 라는게 있길래 on 으로 바꿔서 해보니 이런 Warning 이 나긴 하네요.

Warning: Invalid argument supplied for foreach() in /home/zelon/WWW/tt/lib/plugins.php on line 31

Warning: in_array() [function.in-array]: Wrong datatype for second argument in /home/zelon/WWW/tt/lib/model/common.plugin.php on line 18

Warning: in_array() [function.in-array]: Wrong datatype for second argument in /home/zelon/WWW/tt/lib/model/common.plugin.php on line 18

Warning: Cannot modify header information - headers already sent by (output started at /home/zelon/WWW/tt/lib/plugins.php:31) in /home/zelon/WWW/tt/lib/includeForBlog.php on line 50
텍스트큐브를 점검합니다.

    * 블로그 설정 테이블의 시간대 필드 속성을 변경합니다.: 실패
    * 블로그 설정 테이블의 언어 필드 속성을 변경합니다.: 실패
    * 블로그 설정 테이블에 RSS 공개 정도 설정 필드를 추가합니다.: 실패
    * 설정 테이블에 블로그 언어 설정을 위한 필드를 추가합니다.: 실패
    * 글을 쓸 때 사용할 편집기와 포매터를 선택하는 필드를 추가합니다.: 실패
    * 본문 테이블에 작성자 정보를 위한 필드를 추가합니다.: 실패
    * 본문 테이블의 인덱스를 수정합니다.: 실패
    * 스킨 테이블의 필드 이름을 변경합니다.: 실패
    * 본문 테이블의 필드 이름을 변경합니다.: 실패
    * 테이블의 필드 인덱스를 변경합니다.: 실패
    * 기본 스킨을 변경합니다.: 실패
    * 플러그인이 생성한 Database_SubscriptionLogs 테이블의 owner 필드를 변경합니다.: 실패
    * 플러그인이 생성한 Database_SubscriptionStatistics 테이블의 owner 필드를 변경합니다.: 실패
    * 서비스 설정값 테이블의 필드 속성을 변경합니다.: 실패
    * 페이지 캐싱을 위한 테이블을 추가합니다.: 실패

완료되었습니다.

되돌아가기

3

답글: 텍스트 큐브로 업그레이드 후 checkup 단계에서 실패...

검색을 해보니 텍스트큐브 디버그 모드라는 게 있어서

config.php 파일에 requireComponent('Needlworks.Function.Debug'); 라는 줄을 추가하고 보니 왜 '실패' 가 나는지 알 수 있더군요.

이상하게 저의 유저 권한에 alter table 이 없어서 alter table 권한을 주고, 그리고 이상하게도 tt_BlogSettings 라는 테이블이 없던데, 희한하게도 tt_BlogSettingsMig 라는 테이블이 있었습니다. Mig 는 Migration 의 약자 같기도 한데, 여튼 오류 내용을 보니 tt_BlogSettings 의 컬럼들이 tt_BlogSettingsMig 의 컬럼들과 같길래 tt_BlogSettingsMig 라는 테이블을 tt_BlogSettings 라고 이름을 바꿔서 다시 checkup 을 하니 제대로 되네요.

4

답글: 텍스트 큐브로 업그레이드 후 checkup 단계에서 실패...

늦게 글을 봤네요.^^

텍스트큐브가 정상적으로 동작하려면 데이터베이스에 대한 CRUD 권한이 다 있어야 합니다 blogsettingsMig는 체크업시에 백업해놓고 작업하기 위해 생성하는 테이블이고, 다 됐다 싶으면 원래 것 날리고 새로 생성한 Mig를 원래 BlogSettings로 변경하는 식으로 동작합니다.

디버그 모드 결과를 보여주시면 참으로 원인 파악하기가 쉽지요.^^ 1.5에 coolengineer님이 넣은 기능인데, 엄청 유용한데 홍보를 덜 해서...

"Everything looks different on the other side."

-Ian Malcomm, from Michael Crichton's 'The Jurassic Park'

5

답글: 텍스트 큐브로 업그레이드 후 checkup 단계에서 실패...

넵 늦게나마 답글 달아주셔서 감사합니다. 그러고보니, checkup 을 하기 전에 이런 권한들이 다 있는지 확인한다던지, 각종 보안 관련해서 파일 권한등을 확인해주는 기능이 있으면 좋겠다는 생각을 문득 해봅니다. smile