2017-10-13 1 views
0

2 개의 마이그레이션 파일을 삭제하고 커밋하여 변경 사항을 적용했습니다. 나는 artisan migrate 명령을 실행하려고 지금 때 오류가 발생합니다 :Laravel 4 삭제 된 마이그레이션

[InvalidArgumentException] 
There are no commands defined in the "xyz" namespace. 

내가 그래서 지금은 composer dump-autoload를 실행하려고 오류를

{"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalThrowableError","message":"Class 'ClassNameXYZ' not found","file":"....vendor\/laravel\/framework\/src\/Illuminate\/Database\/Migrations\/Migrator.php","line":301}} 

를 얻을 수 있기 때문에 나는 또한 artisan migration:rollback을 할 수없는 모든 artisan 캐시 지우기에 대한 명령이지만 마이그레이션을 시도 할 때도 같은 결과를 얻습니다.

프로덕션 지점에서 병합해야하므로 데이터베이스를 삭제할 수 없습니다. 이렇게 놓아두고 데이터베이스를 다시 시드하면 프로덕션 서버가 중단됩니다.

삭제 된 마이그레이션을 수동으로 추가 한 다음 composer dump-autoload을 추가하려고 시도했지만 롤백을 시도 할 때 여전히 동일한 오류가 발생합니다.

는 또한 이전 커밋에서 다시 삭제 마이그레이션을 가져 오기 위해 원이 한 :

git checkout __COMMIT__ __FILENAME__ 

을하지만 난이 오류 중 하나를 얻을 :

error: pathspec '__FILENAME__' did not match any file(s) known to git. 

나 :

fatal: __FILENAME__: '__FILENAME__' is outside repository 

어떻게 해결할 수 있습니까?

편집은 내가 git reset을하고 생각하지만, 불행히도는 질문에 마지막으로 이전에 하나를 커밋합니다. 마지막 커밋은 더 이상 존재하지 않는 브랜치의 병합이므로 리셋하면 마지막 브랜치와 병합 된 변경 사항을 잃게됩니다.

는 마이그레이션 클래스 파일 (XYZ)을 삭제하는 경우, 단순히 마이그레이션 테이블에서 레코드를 삭제 :

답변

0

오류가 발견되었습니다. 이전 변경 사항을 커밋 한 때와 다른 이름을 가진 사용자 지정 artisan 명령을 호출하는 것이 원인이었습니다.

왜 아직도 git 문제가 발생하는지 알 수는 없지만 지금은 중요하지 않습니다.

0

난 당신이 코멘트를 아래에 따라야한다고 생각합니다. 그리고 php artisan migrate 명령을 실행 한 후에

+0

이 경우 프로덕션 서버에서 동일한 작업을 수행해야합니다. 현재로서는이 옵션을 사용할 수 없습니다. – Norgul

+0

@Norgul :이 클래스가 마이그레이션 테이블에 추가 될 때마다 영향을 줄 수 있으므로 –

관련 문제