Bei der Migration meiner Datenbank wird dieser Fehler angezeigt. Unten ist mein Code gefolgt von dem Fehler, den ich beim Ausführen der Migration erhalte.
Code
%Vor%Fehlermeldung
%Vor%@JuanBonnett Ihre Frage hat mich zu der Antwort inspiriert, ich nahm auf Laravel, um den Prozess zu automatisieren, ohne Berücksichtigung der Erstellungszeit der Datei selbst, je nach Workflow Mahlzeiten vor Tisch (Kategorien) erstellt werden, weil ich Schema-Datei erstellt habe (Mahlzeiten) vor Kategorien. Das war meine Schuld.
Sie sollten Ihre Migration in Reihenfolge erstellen
zum Beispiel möchte ich, dass mein users
ein role_id
-Feld hat, das von meiner roles
-Tabelle
Ich zuerst beginne meine Rollenmigration
php artisan make:migration create_roles_table --create=roles
dann meine zweite Benutzermigration
php artisan make:migration create_users_table --create=users
php artisan migration
wird mit der Reihenfolge der erstellten Dateien ausgeführt
2017_08_22_074128 _create_roles_table.php und 2017_08_22_134306 _create_users_table überprüfen die datetime-Reihenfolge, die die Ausführungsreihenfolge ist.
Dateien 2017_08_22_074128_create_roles_table.php
%Vor%2017_08_22_134306_create_users_table
%Vor%Migrationen müssen von oben nach unten erstellt werden.
Erstellen Sie zuerst die Migrationen für die Tabellen, die keinem gehören.
Erstellen Sie dann die Migrationen für Tabellen, die zum vorherigen gehören.
Vereinfachte Antwort auf das Problem der Tabellen-Engine:
Um die Speicher-Engine für eine Tabelle festzulegen, legen Sie die Engine-Eigenschaft für den Schema-Builder fest:
%Vor%Aus Laravel-Dokumenten: Ссылка
Vielleicht kann es für jeden, der hier landet, hilfreich sein: Ich habe gerade das gleiche Problem erlebt, und in meinem Fall hatte ich eine (zusammengesetzte) eindeutige Einschränkung für die Fremdschlüsselspalte vor der Fremdschlüsseleinschränkung gesetzt. Ich habe das Problem gelöst, indem ich die "einzigartige" Anweisung NACH der "fremden" Anweisung platziert habe.
funktioniert:
%Vor%Funktioniert nicht:
%Vor%Fügen Sie - & gt; nullable () in Ihr Feld ein und stellen Sie sicher, dass alle Felder, auf die Sie sich beziehen, wirklich existieren.
Tags und Links laravel-5.1 mariadb