Функция мягкого удаления GORM, приводящая к увеличению размера таблиц - PullRequest
0 голосов
/ 18 мая 2019

У меня есть приложение с таблицей с именем active_clients, которая имеет пять столбцов: user_id, is_active, created_at, updated_at и deleted_at.

Я добавляю и удаляю строки 1000 раз в день. Но то, что я обнаружил, когда я использовал db.Delete(&ourRow) в строке - это на самом деле не удаляло бы это. Было бы просто установить столбец deleted_at на текущее время. Сама строка будет зависать, заставляя наши таблицы увеличиваться в размере в течение дня (так как я добавил / удалил много строк).

Это поведение, описанное в документации здесь . Когда вы используете deleted_at, Delete будет мягким удалением. Я хотел бы сохранить эту функциональность мягкого удаления в моем приложении.

Это подводит меня к моему основному вопросу:

Каков наилучший способ использовать мягкое удаление и избегать таблицы размера ? Моя основная идея состоит в том, чтобы создать задание, которое будет автоматически удалять столбцы, для которых установлен столбец deleted_at, который не является null один раз в 30 минут. Это серьезный подход или есть что-то более стандартное, что я могу сделать?

...