Почему удаление данных в Grails не рекомендуется? - PullRequest
1 голос
/ 07 апреля 2011

С http://grails.org/doc/1.3.x/guide/5.%20Object%20Relational%20Mapping%20%28GORM%29.html#5.3.2%20Deleting%20Objects:

Обратите внимание, что Grails не предоставляет метод deleteAll, поскольку удаление данных не рекомендуется, и его часто можно избежать с помощью логических флагов / логики.

Почему удаление данных не рекомендуется?

Ответы [ 2 ]

3 голосов
/ 07 апреля 2011

Я не думаю, что они на самом деле говорят, что удаление данных - это плохо, но они не предоставляют удобный метод для удаления всех данных в таблице, потому что вполне возможно, что вы можете случайно вызвать

book.deleteAll()

когда вы хотели набрать

book.delete()

, и последствия этого могут быть довольно ужасными.Если вы действительно хотите удалить все экземпляры, это просто:

Book.executeUpdate("delete Book") 

, что вы вряд ли будете вызывать случайно

2 голосов
/ 07 апреля 2011

Как и Дон, я согласен, что они не говорят, что это совсем плохо.

То, как я читаю эту цитату из документации, заключается в том, что во многих приложениях более целесообразно пометить запись как «скрытую» или«истек» вместо того, чтобы удалить его, а затем удалить его из дисплеев / запросов / и т. д.соответственно.Это в основном для приложений, которые требуют сохранения исторических данных или аудита.

Рекомендация определенно ситуативна и зависит от требований вашего приложения.

...