2016-04-07 5 views
1

Ich habe eine Phönix-Anwendung, in der Beiträge zu Benutzern gehören.Stellen Sie sicher, dass Beiträge, die zu einem Benutzer gehören, gelöscht werden, wenn dieser Benutzer gelöscht wird

Wenn ich versuche, einen Benutzer zu löschen, die Beiträge erhalte ich die folgende Fehlermeldung hat:

Ecto.ConstraintError at DELETE /users/2 
constraint error when attempting to delete model: 

    * foreign_key: posts_user_id_fkey 

Ich gehe davon aus, dass dieser Fehler bedeutet, dass es den Benutzer nicht löschen, weil dort vorhandene Beiträge sind die zu diesem Benutzer gehören.

Wie lösche ich die Benutzerbeiträge, wenn/wenn der Benutzer gelöscht wird?

Antwort

5

Ich habe etwas mehr Suche gemacht und ich denke, dass ich die Antwort auf meine Frage gefunden: zu

ich hinzugefügt habe die folgenden

schema "users" do 
    ... 
    has_many :posts, MyApp.Post, on_delete: :delete_all 
    ... 
end 

Bitte kommentieren, wenn dies nicht der richtige Weg ist, Mach das oder wenn es einen besseren Weg gibt.

+1

Ja, das ist die Antwort. Hier haben Sie praktische Links: http://blog.plataformatec.com.br/2015/08/working-with-ecto-associations-and-embeds/ https://hexdocs.pm/ecto/Ecto.Schema.html – tkowal

Verwandte Themen