2016-10-12 5 views
0

저는 laravel을 처음 사용하며 작업하는 동안 새로운 마이그레이션을 만들었습니다. php artisan migrate 명령을 실행 한 후 마이그레이션이 성공적으로 완료되었습니다. 그런 다음 이전에 만든 마이그레이션으로 돌아가서 새로운 필드를 추가했습니다. php artisan migrate 명령을 다시 실행하면 Nothing to migrate이라는 메시지가 나타납니다. 나는 다음 적용 할 변경에 대한 명령 php artisan migrate:refresh를 실행했는데하지만 난 그 마이그레이션에 갔다 있도록 일부 마이그레이션을 롤백하고 싶지 않았고 내가 실행할 때 그 이후Laravel에서 php artisan migrate를 실행할 수 없습니다.

/** 
    * Reverse the migrations. 
    * 
    * @return void 
    */ 
    public function down() 
    { 
     // The line below has been commented to prevent rollback 
     // Schema::drop('table-name'); 
    } 

을 다음과 같은 마지막 방법을 수정 php artisan migrate 나는 다음과 같은 오류 얻을 : 나는, composer update 실행 한 composer dump-autoloadcomposer clear-cache, php artisan migrate:refresh, php artisan migrate:rollback는,

php artisan migrate:reset이 친절하게이 문제를 해결하는 데 도움이 [Symfony\Component\Debug\Exception\FatalErrorException] Class 'Carbon' not found 합니다.

답변

1

마이그레이션 클래스 또는 스크립트에서 Carbon 클래스를 사용했지만 가져 오기/포함을 잊어 버렸습니다.

는 탄소 클래스와 실행 마이그레이션을 사용한 마이그레이션 스크립트에서

use Carbon/Carbon; 

를 추가합니다.

심판 링크 : http://laravel.io/forum/03-12-2014-class-carbon-not-found

1

나는 이전의 아래 방법의 일부 라인을 코멘트를 추천하지 않을 것입니다. 일반적으로 down() 메서드는 항상 up() 메서드에서 수행 한 작업을 취소해야합니다.

일부 필드를 기존 테이블에 추가하고 새로 고침을 수행하여 일부 데이터를 잃지 않으려면 다른 마이그레이션을 만들고 수정하려는 테이블을 지정하십시오. 예를 들어 :

php artisan make:migration add_some_fields_to_users --table=users 

또한 그래서 당신은 당신의 마이그레이션을 새로 고칠 수 있습니다 Database Seeds를 사용하여 다시 데이터를 데이터베이스 시드 고려할 수 있습니다. 이것은 개발 단계에서 매우 강력합니다.

당신의 경우 @Sanrekula의 답은 탄소 문제 일 가능성이 높습니다.

관련 문제