Я бы использовал пакет, в основном из-за простоты использования и настройки.
Что касается минусов, которые вы упомянули:
- одна таблица аудита, содержащая все проверяемые изменения всех таблиц
- трудно читать в средствах просмотра БД
Во-первых, я не могу сказать, что это плохо, поскольку позволяет легко связать пользователя со всеми изменениями, внесенными в разные модели.
В противном случае, если бы у вас была таблица аудита для каждой модели (order_audits
, costumer_audits
, ...), вам пришлось бы использовать операторы JOIN для простых вещей, таких как получение общего количества изменений, внесенных пользователем в системе. Например,
Вторая причина, на которую вы указываете, я предполагаю, что это потому, что некоторые данные хранятся в формате JSON. В этом случае вы всегда можете преобразовать типы столбцов, в которых хранятся эти данные, из TEXT
в JSON
(см. Документацию ).
Одно из преимуществ (в СУБД, которые его поддерживают) заключается в том, что вы можете использовать операторы WHERE
в столбцах типа JSON для применения фильтрации, и, учитывая, что тип JSON существует уже некоторое время, я уверен, что есть средства просмотра базы данных, которые может отображать данные правильно, вместо строки JSON.