2017-12-06 4 views
0

Etwas hinzufügen, in meiner Migrationen Datei brach, als ich ein migrate:fresh tue und es wirft:Laravel kann nicht Fremdschlüssel

SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint 
(SQL: create table `product` (`test` int not null) default character 
set utf8mb4 collate utf8mb4_unicode_ci) 

ich alles gelöscht habe in dieser Migration und links nur ein Feld, um zu debuggen, was sein kann, die Frage, und hier ist die Migration wie heute ist und derjenige, der mir diesen Fehler geben:

public function up() 
{ 
    Schema::create('product', function (Blueprint $table) { 
     $table->integer('test'); 
    }); 
} 

ich habe versucht zu tun composer dump-autoload aber nichts geändert.

EDIT

Nach vagrant halt und vagrant up der erste Fehler machen ich nach migrate:fresh bekommen ist:

SQLSTATE[23000]: Integrity constraint violation: 1022 Can't write; 
duplicate key in table '#sql-4ef_4' (SQL: alter table 
`product_shipping_country` add constraint `fk_psc_product` foreign key 
(`product_id`) references `product` (`content_id`) on delete CASCADE on 
update CASCADE) 

Aber sofort, nachdem ich migrate:fresh dieser Fehler laufen nicht mehr vorhanden ist, und ich bin die alte wieder bekommen

EDIT 2

Ich habe versucht, die DB manuell zu löschen, das gleiche passiert. beide auch composer clear-cache und artisan cache:clear

Clearing EDIT 3

Wenn ich diese Migration löschen, und jede Migration nach diesen einem, der Fehler weg, so nehme ich an dem Fehler in dieser spezifischen Migration?

Ich bekomme nicht, wie kann ich foreign-key Fehler bekommen, wenn ich sogar keine Fremdschlüssel in der Migration habe ??

Antwort

0

Es war offensichtlich ein Cache-Problem. Ich habe es gelöst, indem ich die DB komplett gelöscht und neu erstellt habe. Migrationen und Seeds funktionierten danach perfekt.

Verwandte Themen