Введение в мягкое удаление в Nest
Запись из списка иногда должна исчезнуть для клиента, но оставаться в таблице для истории, отчёта или отката ошибки. Жёсткое стирание строки ломает такой сценарий: данные уже не вернуть простым действием на сервере.
Мягкое удаление помечает строку временем снятия с учёта, а не убирает её из таблицы. Обычная выборка репозитория такие строки не показывает, как будто их нет. Отдельный режим выборки включает помеченные записи, восстановление снимает метку, а окончательное удаление стирает строку физически.
TypeORM хранит метку в колонке с особым декоратором даты удаления. Репозиторий даёт операции мягкого удаления, восстановления и обычного удаления по ключу. В Nest репозиторий приходит через внедрение, сущность регистрируют в модуле темы, корень держит PostgreSQL с автоподхватом сущностей и синхронизацией схемы.
Дальше по шагам разберём пометку строки, выборку вместе с удалёнными, возврат записи в активный список и полное стирание. На сайте с материалами те же приёмы удерживают архив без потери данных в базе.