Я проектирую систему, и я не думаю, что это хорошая идея дать возможность конечному пользователю удалять записи в базе данных. Я так думаю, потому что часто конечный пользователь, однажды получивший права администратора, может в конечном итоге сделать беспорядок в базе данных, а затем обратиться ко мне, чтобы исправить это.
Конечно, им нужно будет удалять записи или, по крайней мере, думать, что они сделали, если они установлены как admin.
Итак, я думал, что все записи в базе данных должны иметь "активное" поле. Если они попытаются удалить запись, она просто установит флаг "false" или что-то подобное. Тогда будет какой-то супер администратор, который будет моей командой компании, которая может изменить это поле.
Я уже видел это в другой компании, над которой я работал, но мне было интересно, была ли это хорошая идея. Я мог бы просто делать регулярные резервные копии базы данных, а затем откатываться, если они совершают ошибку, и добавление этого поля добавит некоторую сложность ко всем запросам.
Как вы думаете? Должен ли я так поступать? Используете ли вы этот трюк в своих приложениях?