0

그래서 내 프로젝트에서 많이 사용하는 사용자 지정 패키지가 있습니다. 패키지에는 많은 마이그레이션과 시드가 포함되어 있습니다. 패키지의 서비스 제공 업체에서 마이그레이션 5가 서버 5에서 실행되지 않습니까?

, 정말 같은 마이그레이션을로드 : I 로컬 php artisan migrate:refresh를 실행하면 마치 마법처럼 작동하며 마이그레이션이 실행되고 테이블은 DB에 설치되어

$this->loadMigrationsFrom(__DIR__ . '/database/migrations/'); 

. 그러나 내 서버에서 동일한 작업을 수행 할 때 마이그레이션 설정에 아무런 변화가 없습니다. 동일한 구성이 내 홈 환경에서 작동하고 내 생산 환경에서는 작동하지 않기 때문에 혼란 스럽습니다.

다른 누구도 이와 유사한 문제에 직면했거나이를 해결하는 방법에 대해 알고 있습니까?

+0

패키지에 대한 Laravel 공식 문서에서 마이그레이션에 대해 찾지 못했습니다. 마이그레이션을 추가하기위한 명령을 수동으로 만들어야한다고 생각합니다. –

+0

base_path()를 사용하면 마이그레이션 파일이 누락되거나 경로가 올바르지 않은 두 가지 가능성이있을 수 있습니다. 또한 파일이 있고 경로가 올바르다면 더러운 트릭은 마이그레이션 테이블에서 존중 된 항목을 삭제하고 마이그레이션을 다시 실행하는 것일 수 있습니다. – iSensical

답변

0

Git을 사용하는 경우 서버의 분기가 개발 환경의 분기와 동일한 지 확인하십시오.

예를 들어 서버의 master 브랜치 (기본값)에있는 것이므로 development 브랜치에서 모든 개발 작업을 수행했습니다. 이 때문에 마이그레이션은 development 지점에서만 볼 수 있습니다.

0

서버에서 위치가 다르거 나 다른 위치에서 명령을 실행할 수 있습니까? __DIR__은 최상의 상황에서 너무 신뢰할 수 없습니다. 아야와 또 다른 가능성 : 당신의 Laravel 코드 :

EDIT 내부의 특정 파일 위치를 처리 할 때

$this->loadMigrationsFrom(base_path() . '/database/migrations/'); 

base_path()app_path()이 편리한 기능은 다음과 같습니다

이에 라인을 변경하여 코드를 추출 시도 : 귀하의 마이그레이션이 git 저장소에 추가되지 않았습니다.

+0

'realpath()'와'base_path()'메소드를 포함하여 path와 많은 조합을 시도했지만 작동하지 않습니다. 얼굴에서 나는'__DIR__' 경로에'dd()'를 시도했는데 괜찮습니다. – Rohan

+0

음 ... 마이그레이션 표가 뭐라고 말합니까? 그리고 해당 폴더에 마이그레이션이 있는지 확인 했습니까? –

관련 문제