묻고답하기
모듈 개발시 "DB Table 생성을 해야 설치가 완료됩니다."
2014.11.10 21:53
XE안에서 사용하기 위해 모듈형태로 개발중입니다.
다른분들이 만들어 놓은 모듈을 가져다가 짜집기 식으로 만들다 보니, 완전 삽질을 하고 있습니다.
XE 프레임웍의 흐름을 계속 놓치는것 같습니다.
상황:
묘듈을 생성후 XE가 설치된 서버에 FTP로 올려 놓았습니다.
./modules/mymodule 폴더를 올려 놓았습니다.
관리자 페이지에 업데이트를 하겠냐고 해서 하라고 클릭 하였습니다.
잠시후 알림문구가 사라졌습니다.
"DB Table 생성을 해야 설치가 완료됩니다." 이것도 클릭을 했습니다.
DB에 테이블은 생성이 되었는데요? 계속 없어지지 않고 나타납니다.
이거 없어지려면 어떤 작업을 해야 하는건가요?
질문 요약:
모듈 개발시 "DB Table 생성을 해야 설치가 완료됩니다." 테이블은 생성이 되었는데도 계속 나타납니다.
고수님들 도움 부탁드립니다.
( ' ' ) ( __) ( ' ' )
- [2009/08/25] 묻고답하기 리눅스 putty에서 데이타 베이스 경로, 생성 질문 *2
댓글 5
-
숭숭군
2014.11.11 14:17
-
비상9
2014.11.12 14:52
아래 checkUpdate() 함수 입니다.
감사합니다.
-------------------------------------
function checkUpdate()
{
$oModuleModel = &getModel('module');
$oDB = &DB::getInstance();
if (!$oDB->isColumnExists("bankbook5", "bankbook5_srl")) return true;foreach( $this->triggers as $trigger )
{
$res = $oModuleModel->getTrigger(
$trigger['name'],
$trigger['module'],
$trigger['type'],
$trigger['func'],
$trigger['position']
);if ( !$res ) return true;
};return false; // update not exist
} -
숭숭군
2014.11.12 15:42
기존모듈과 전혀 다른 모듈을 만들고 있다면
해당 부분 전부 삭제해도 무관합니다.
-
비상9
2014.11.12 16:30
전부 지웠는데도 나타납니다.
함수 내부를 전부 주석처리 하고 빈 함수만 남겨 두었습니다.
그리고 테이블을 몽땅 지워버리고, 관리자 대시보드로 들어가서 "DB Table 생성하기" 를 실행 시켰습니다.
테이블이 생성된것도 확인하고, 내용도 전부 이상없음을 확인하였습니다.
결과는 똑같습니다. ㅠㅠ
여전히 "DB Table 생성하기" 버튼이 계속 출력되어 있습니다.
혹시 "DB Table 생성하기" 라고 출력하는 함수 위치가 어디 있는것인지 알수 있을까요?
-
비상9
2014.11.12 22:40
자력해결되었습니다.
해결방법은
schemas 폴더의 tablename.xml 의 파일명이 첫자가 대문자 였습니다. ㅠㅠ
windows에서 코딩해서 linux로 ftp로 올리는데요.
windows에서 개발된 다른 moduls을 복사해다가 파일명하고 내용을 수정하고 추가해서 개발하다보니
실수인지, FTP가 이상하게 올린것인지 파일명 첫자가 대문자가 되어 있었네요.
그것도 모르고 계속 파일만 까서 보다 보니... ㅠㅠ
게시글 읽어주신 회원분, 답변해주신 숭숭군님 감사합니다.^^
class.php 파일을 봐야지 원인을 알수 있겠지만
class.php 파일의 checkUpdate() 함수부분에 있는 내용으로 인해 메세지가 사라지지 않는듯 합니다.