Sequelize.js onDelete: 'cascade' löscht keine Datensätze Sequelize

8

Ich habe Product Tabelle mit folgenden Spalten [id, name, CategoryId] und Category Tabelle mit [id, name]

Produktmodell: -

%Vor%

Kategorie Modell: -

%Vor%

Wenn ich eine Kategorie lösche, löscht sie nur die Kategorie und nicht die zugehörigen Produkte. Ich weiß nicht, warum das passiert?

Aktualisierung: Sequelize Version sequelize 1.7.0

================================================== ==================================== Antwort (Wie das behoben wurde.): -

Ich habe dies erreicht, indem ich eine Einschränkung für die Datenbank mit Alter command hinzugefügt habe, da Add Foreign Key Constraint through migration ein offenes ist Fehler in sequelize .

%Vor%     
Sampat Badhe 17.04.2014, 09:00
quelle

2 Antworten

18

Ich glaube, Sie sollten das onDelete in das Kategoriemodell anstatt in das Produktmodell einfügen.

%Vor%     
agchou 30.04.2014 18:45
quelle
6

Ab "sequelize": "^ 3.5.1" funktioniert es nur, wenn Sie onDelete='CASCADE' in die belongsTo -Deklaration setzen, was in Ihrem Fall das Product -Modell ist. Dies widerspricht den Dokumenten: Ссылка

Siehe diese Frage: Sequelize onDelete funktioniert nicht

    
Liwen 28.08.2015 13:08
quelle

Tags und Links