Небольшой опросник.
Как вы удаляете данные в своих Salesforce проектах? Предпочитаете удалять их физически (с помощью DML операции delete) или удаляете "косвенно", помечая их как удаленные?
Хочу чтобы данные пост имел еще и учебный характер
Я, например, крайне негативно отношусь к физическому удалению данных. Сколько раз на моей памяти было случаев, что неумелое кодирование (слава богу не мое) приводило к потери данных заказчика на проде. После чего, сами понимаете, отношения с заказчиком "немного" портились. Этого можно было бы избежать если бы просто пометить данные как удаленные и поставить время удаления. Я думаю можно было бы даже выяснить даже при каких обстоятельствах произошло такое удаление. А при физическом удалении - есть данные и вот их уже нет (возможно остались бы в Recycle Bin, но я бы на него особо не полагался).
Минусы - храниение лишних данных (особенно актуально для Salesforce с его резиновым Data Storage), дополнительная обработка "удаленных" данных в запросах (отчетах).
Плюсы - история изменения данных, спокойный сон.
Что думаете по этому поводу? Может есть еще какие способы работы с удалением данных? Поделитесь впечатлениями.
Ну не знаю, я лично не боюсь удалять. Перед удалением чего-либо из кода проверяю алгоритм несколько раз. Так же очень полезно иметь триггер, который не даст удалять все подряд.
Удаление сама по себе затратная операция.
Если нет у заказчика нет проблем с объемом хранилища, то помечаю записи, как удаленные.
<blank>