Betrachten Sie
%Vor%Dann fügen Sie .env
hinzu %Vor%Datenbank erstellen
%Vor%migrieren
%Vor%Jetzt versuche programmgesteuert in basteln
zu migrieren %Vor%Zum ersten Mal ergibt sich = & gt; 0 (wie erwartet?) Aber das zweite Mal:
%Vor%Illuminate \ Database \ QueryException mit der Nachricht 'SQLSTATE [HY000]: Allgemeiner Fehler: 17 Datenbankschema wurde geändert (SQL: select * from sqlite_master wo Typ = 'Tabelle' und Name = Migrationen) '
Artisan :: Call ('migrieren') Das dritte Mal:
Symfony \ Component \ Console \ Exception \ CommandNotFoundException mit message 'Im Namespace "migrate" sind keine Befehle definiert.'
Irgendwelche Ideen, was hier los ist? Kannst du es reproduzieren?
Aktualisieren Sie mit Postgres. Beim zweiten Aufruf von Artisan :: call ('migrieren: frisch') bekomme ich:
Symfony \ Component \ Console \ Exception \ CommandNotFoundException mit message 'Im Namespace "migrate" sind keine Befehle definiert.'
Ich denke nicht, dass das ein Laravel-Bug ist, aber ich habe dein Problem gefunden:
Das Aufrufen eines nicht vorhandenen Befehls wie Artisan::call('migrate:fresh')
stürzt ab. Der Grund ist ein Tippfehler: Tinker akzeptiert nicht fresh
, nur refresh
. Wenn Sie den Befehl über tinker aufrufen, wird die sqllite-Datei geleert, so dass Sie keine Befehle ausführen können, bis Sie migrieren, ohne zu basteln.
Hier sind meine Schritte:
%Vor%Ich denke, es ist ein Tinker-Bug, kein Laravel-Bug. Tinker macht eine Art Momentaufnahme (Wenn Sie ein Modell ändern, müssen Sie den Tinker neu starten, um es dort aufzurufen), vielleicht ist die Fehlerbehandlung nicht implementiert, das ist der beste Weg, um alle Fehler zu finden.
Tags und Links laravel