Проблема
В веб-приложении, имеющем дело с продуктами и заказами, я хочу поддерживать информацию и отношения между бывшими сотрудниками (пользователями) и заказами, которые они обрабатывали. Я хочу поддерживать информацию и отношения между устаревшими продуктами и заказами, которые включают эти продукты.
Однако я хочу, чтобы у сотрудников была возможность убирать загроможденные интерфейсы администрирования, такие как удаление бывших сотрудников, устаревшие продукты, группы устаревших продуктов и т. Д.
Я подумываю реализовать мягкое удаление. Так, как это обычно делается?
Мои непосредственные мысли
Моя первая мысль - вставить столбец « flag_softdeleted
TINYINT NOT NULL DEFAULT 0» в каждую таблицу объектов, которые должны быть мягко удаляемыми. Или, может быть, вместо этого использовать временную метку?
Затем я предоставляю кнопку «Показать удаленные» или «Отменить удаление» в каждом соответствующем графическом интерфейсе. Нажав эту кнопку, вы включите в результат удаленные записи. У каждой удаленной записи есть кнопка «Восстановить». Имеет ли это смысл?
Ваши мысли?
Также я буду признателен за любые ссылки на соответствующие ресурсы.