В настоящее время я хочу структурировать таблицу отслеживания / истории следующим образом:
- PrimaryKey - ID
- OtherTableId - fk
- fieldName - имя поля его отслеживания
- OldValue
- NewValue
- UserName
- CreateDateTime
Поэтому в основном я хочу иметь таблицу, которая будет отслеживать историю других таблиц, хранить имя столбца измененного поля с новым и старым значением. Мой вопрос: может ли кто-нибудь заделать дыры в этом? Кроме того, как проще всего убедиться, что в столбец fieldName заносится только имя столбца из отслеживаемых таблиц? В настоящее время я могу добавить перечисление в создаваемую мной службу или создать другую таблицу состояния и сделать fieldName fk. Есть идеи получше?
Изменить цель: в настоящее время есть только 2 поля, которые мы хотим отслеживать. Одно поле будет отображаться на веб-странице для отображения истории, другое поле будет доступно только одному отделу, и у них есть доступ к представлению базы данных, к которому они смогут обращаться. Они будут запрашивать только это одно поле, чтобы получить информацию о том, кто изменил поле и на что. По этой причине мы хотели установить его там, где поле базы данных определяет столбец таблицы, а не имеет точную копию истории записей таблицы. Мы хотим, чтобы только два поля отслеживались с возможностью добавления или удаления полей в будущем.
Благодарность!