CI 묻고 답하기

제목 migration관련 문의드립니다.
글쓴이 작성시각 2014/04/07 14:32:46
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 12623   RSS
안녕하세요
migration관련 질문드립니다.

질문은 migration버전 출력이 제대로 되지 않아 문의드립니다.
현재 세팅은 

applications/config/migration.php 
 소스변경 ->$config['migration_version'] = 5;

applications/migrations/ 안에 
001_ 부터 005까지 파일이 5개 존재

$this->load->library('migration');
if (!$ci->migration->current()) {
 show_error($ci->migration->error_string());
}

이리하여 실행하면 제대로 마이그레이션이 제대로 되며
 디비에 도 제대로 적용이 됩니다

$config['migration_version'] 의 버전을 변경하여 테스트하면 제대로 디비에 적용되며
디비의 migration테이블에 제대로 적용이 되는데

문제는 $this->migration->current() 를 프린트 하여보면 어떠한 경우도 1이 나오며  변경된 버전 숫자가 나오지 않습니다.
$this->migration->latest() 하여도 마찬가지입니다.

무엇이 문제일까요?









 다음글 db 결과값 질문이요 (2)
 이전글 ajax 질문입니다 (4)

댓글

변종원(웅파) / 2014/04/07 14:48:44 / 추천 0
뭔가 착각을 하고 계신 것 같네요.

해당 함수는 마이그레이션을 실행하는 함수이지 변경된 버전 숫자를 보여주는 함수가 아닙니다.

system/libraries/Migration.php 열어보시면 

/**
* Set's the schema to the migration version set in config
*
* @return mixed true if already current, false if failed, int if upgraded
*/
public function current()

true, false 반환합니다. 그리고 version()함수에 최종적으로 $current_version을 반환하기는 하나
거기까지 도달하지 않고 그전에 true를 반환하기 때문인 것 같네요.

log level을 4로 해서 debug 메세지를 확인해보세요.
로그에 아래 구문이 남는지...

log_message('debug', 'Finished migrating to '.$current_version);
/ 2014/04/07 14:51:43 / 추천 0
 답변 감사합니다. 확인 해보겠습니다.