ProgWeb17Unitn / Tum4World

0 stars 0 forks source link

Cancellazione Utenti #18

Closed matteobregola closed 1 year ago

matteobregola commented 1 year ago

Errore cancellando Utente: utente0. Causa: org.apache.derby.shared.common.error.DerbySQLIntegrityConstraintViolationException: DELETE on table 'UTENTI' caused a violation of foreign key constraint 'FK_USERNAME' for key (utente0). The statement has been rolled back. org.apache.derby.shared.common.error.DerbySQLIntegrityConstraintViolationException: DELETE on table 'UTENTI' caused a violation of foreign key constraint 'FK_USERNAME' for key (utente0). The statement has been rolled back.

MatteoFrizzeraUniTN commented 1 year ago

Il problema era che username di utente è foreign key nella tabella donazioni, quindi cancellando un utente il database rifiutava l'operazione se l'utente aveva effettuato donazioni. Ho risolto questo errore aggiungendo ON DELETE SET NULL alla fk, cosi quando viene eliminato un utente il suo username viene settato a NULL nelle sue donazioni, rendendole di fatto 'anonime'.

IMPORTANTE! E' necessario cancellare il database e ricrearlo con popolaDB per fixare questo problema