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