2017-12-27 28 views

답변

1

은 내가 질문 테이블에 대한 부팅에 미들웨어를 가지고, 그것을 발견이 추가 :

if(\Schema::hasTable('questions')) { 
     .... 
    } 
2

데이터베이스에서 실제로 모든 테이블을 제거하는 것은 불가능합니다.

migrations 테이블을 포함하여 모든 테이블을 정말로 삭제했는지 확인하십시오. 모든 마이그레이션을 되돌리려 할 때

보통은 실행해야합니다

php artisan migrate:reset 

을이 실행할 수있는 당신이 Laravel 5.5을 실행하는 한 가정하지 않은 경우 :

php artisan migrate:fresh 

나는 것 Migrations documentation 전체를 읽고 어떻게 작동하는지 그리고 어떻게 만들어야하는지 알리십시오. 사실 당신은 수동으로 테이블을 제거하고 바로 실행되지해야합니다

php artisan migrate:rollback 

는 마이그레이션 이전에 실행하거나 이미 하나 하나 개 앞서 언급 한 롤백 명령 또는 롤백을 실행하고 다시 마이그레이션을 실행할 수 있습니다 말했듯이 롤백.

+0

을 마이그레이션 할'시도를 .swallow 사용중인 응용 프로그램이 사용하고 있다고 생각하는 데이터베이스를 사용하고 있습니까? 'php artisan migrate : status'를 실행하여 어떤 마이 그 레이션이 실행되었는지 확인하고'.env'를보고 데이터베이스 이름을보고'php artisan config : clear'을 실행하여 이전 데이터베이스 연결이 캐시되지 않았는지 확인하십시오. –

+1

@amini 그 오류가 다시 –

+0

그래, 나는 확실하다 –

2

이미 DB에이 테이블이 있으므로이 오류가 발생합니다. 각 마이그레이션의 down() 메소드에 테이블을 삭제하고 php artisan migrate:rollback 명령을 사용하여 마지막으로 실행 된 마이그레이션 일괄 처리를 삭제해야합니다.

down() 방법으로 테이블을 삭제하지 않으면 5.5에서도 php artisan migrate:fresh을 사용할 수 있습니다.

https://laravel.com/docs/5.5/migrations#rolling-back-migrations

가 아니면 그냥 수동으로 DB를 다시하고 php artisan migrate 명령을 실행할 수 있습니다.

+0

아니요, 데이터베이스에 없으며 데이터베이스를 삭제하고 생성했습니다. 다시 –

2

당신은 실행할 수 있습니다

php artisan migrate:refresh 

합니다 (마이그레이션 테이블을 포함하여) 모든 테이블을 롤백하고 다시 모든 것을 다시.

+0

나는 그 오류를 다시 가지고있다 –

+0

@ amini.swallow이 대답은 당신에게 도움이 되었습니까? –

+0

아니요, 여기에는 AuthServiceProvider.php 때문에 답변을 드렸습니다. 미들웨어를 작성했습니다. 여기 내 대답을 확인하십시오. –