Ho 2 tabelle:Ecto delete riferimento record del database
utente:
id
username
password
unique_index username
(the schema has a has_many other)
altro:
id
user_id - references(:users)
foo
index user_id
(the schema has a belongs_to user)
nel changeset per "Other" Ho questo
model
|> cast(params, @req, @opt)
|> foreign_key_constraint(:user_id)
La mia ipotesi, a questo punto è stata la "Altro" modello Ecto richiede un "utente" da associare ad essa di esistere (che è quello che voglio)
Ma la mia seconda ipotesi era se si elimina l ' "Utente" record quindi tutti i record "Altro" associati verrebbero eliminati (tramite eliminazione Cascade)
Che cosa succede in realtà è che ho un Ecto.ConstraintError quando provo a eliminare un record "Utente" (presumo perché c'è un " Altro "record associato a quell'utente)
Quindi, come potrei farlo funzionare nel modo in cui desidero:
- A "utente" può essere creata standalone
- un "altro" può essere creato, ma deve appartenere a un "utente"
- Quando un "altro" è cancellato non interessa niente altro
- Quando un "utente" è soppressa ed elimina tutte le associate "altre" record anche
Essenzialmente un'eliminazione a cascata sulla utente per tutti gli elementi che vi fa riferimento
lavori su molti-a-molti troppo –