2017-12-27 4 views
0

löschte ich alle Tabellen in der Datenbank, aber mein Fehler ist:Ich kann nicht migrieren Tabellen wieder

table.questions

existiert

so kann ich sie nicht migrieren, ist es auf etwas anderes richten auch?

+0

leer die Datenbank und versuchen 'Komponist dumpautoload' dann versuchen Sie es erneut zu migrieren –

Antwort

1

Ich fand es, ich habe eine Middleware in Boot für Frage Tisch hatte und hat dieses Bild:

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

Es ist unmöglich, wenn Sie wirklich alle Tabellen aus der Datenbank entfernt haben.

Stellen Sie sicher, dass Sie wirklich alle Tabellen einschließlich migrations Tabelle gelöscht haben.

Normalerweise, wenn Sie alle Migrationen rückgängig machen wollen, sollten Sie laufen:

php artisan migrate:reset 

Wenn Sie nicht getan haben, dies vorausgesetzt, Sie haben laufen Laravel 5.5 Sie ausführen können:

php artisan migrate:fresh 

würde ich empfehlen Ihnen, das ganze Migrations documentation zu lesen, um zu wissen, wie sie funktionieren und wie Sie sie erstellen sollten. In der Tat entfernen Sie sollten keine Tabellen manuell und führen Sie einfach:

php artisan migrate:rollback 

Rollback zuvor Migrationen laufen oder, wie ich schon gesagt, können Sie ein ein zuvor erwähnten Befehle ausführen oder Rollbacks rückgängig zu machen und wieder Ihre Migrationen laufen.

+0

Ich habe diesen Fehler wieder –

+1

@amini .swallow Sind Sie sicher, dass Ihre Anwendung die Datenbank verwendet, von der Sie glauben, dass sie sie verwendet? Führen Sie 'php artisan migrate: status 'aus, um zu sehen, welche Migrationen ausgeführt wurden, schauen Sie auch' .env' an, um den Datenbanknamen zu sehen, und führen Sie 'php artisan config: clear' aus, um sicherzustellen, dass keine alte Datenbankverbindung zwischengespeichert wird. –

+0

Ja, ich bin mir sicher, –

2

Sie erhalten diesen Fehler, weil Sie diese Tabelle bereits in der DB haben. Sie müssen eine Tabelle in der Methode down() für jede Migration löschen und den Befehl php artisan migrate:rollback verwenden, um den letzten Batch der ausgeführten Migrationen zu löschen.

In 5.5 können Sie auch php artisan migrate:fresh verwenden, wenn Sie keine Tabellen in der down() Methode fallenlassen.

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

Oder Sie können einfach manuell einen DB erstellen und php artisan migrate Befehl ausführen.

+0

Nein, ich habe es nicht in der Datenbank, löschte ich auch meine Datenbank und erstellte es wieder –

2

können Sie führen:

php artisan migrate:refresh 

alle Tabellen rückgängig zu machen (einschließlich der Migrationen Tabelle) und alles wieder neu zu erstellen.

+0

Ich habe diesen Fehler wieder –

+0

@ amini.swallow hat diese Antwort Ihnen helfen? –

+0

Nein antwortete ich hier, es ist wegen AuthServiceProvider.php. Ich schrieb eine Middleware .check meine Antwort hier bitte. –

Verwandte Themen