In base a http://www.yesodweb.com/blog/2010/07/database-migrations è stata aggiunta una classe di prodotti DeleteCascade
alcuni anni fa. Posso solo supporre che questo sia pensato per essere aggiunto ai modelli. Dopo aver configurato la configurazione dei miei mi piace:Yesod delete cascade
Field
...
foreignId ForeignId DeleteCascade
la mia domanda compila bene. ma lo schema del DB è invariato, e l'eliminazione non è a cascata dall'applicazione neanche. Dovrei solo (rabbrividire) farlo manualmente? C'è un modo migliore?
sto utilizzando l'impalcatura Yesod (Application.hs, Foundation.hs, Settings.hs, ...)
Grazie per la risposta finora. Potresti espanderti un po '? Il mio problema: http://hackage.haskell.org/packages/archive/persistent-template/1.0.0/doc/html/Database-Persist-TH.html dice che gli utenti normali non dovrebbero aver bisogno di usare mkDeleteCascade. http://hackage.haskell.org/packages/archive/persistent/1.0.0/doc/html/src/Database-Persist-Query-Internal.html dice che deleteCascadeWhere è solo per uso interno. Inoltre non riesco a trovare documenti utili su deleteCascade. Potresti mostrarmi/indicarmi un esempio operativo minimo di questo? – abesto
I commenti sull'uso interno o sugli utenti regolari non sono stati applicati alle funzioni stesse, ma ai moduli. I moduli a cui si collega vengono entrambi riesportati da altri moduli (ad es. Yesod.Persist). Non c'è alcun problema con l'utilizzo di tali funzioni. Sfortunatamente non ho un esempio completo, comunque. –