насколько я знаю аудит операций товара (создания, редактирования, удаления) делается не через колонки в той самой таблице, в рсубд
а может создается отдельная табличка
и оно подразумевает что каждый пользователь системы имеет сответствующего юзера в бд и подключается под ним для действий над данными
но это опять же в старых "православных" бд сейчас можно и по другому сделать (и не только на уровне бд делать аудит)
но все это мало отношения к soft delete имеет
soft delete обычно скрывает другие проблемы данных которые пытаются решить через soft delete с различным успехом ...
он может быть в отдельной табличке, но мы например почти всегда делали запросы с учетом полей аудита, потому что в большей части случаев при запросе нужен условный created_at, и было логично включить аудит в ту же таблицу, банально чтобы не делать лишние джойны на каждый запрос