# How to track changes in downtime data

**URL:** <https://forum.inductiveautomation.com/t/how-to-track-changes-in-downtime-data/86942>\
**Category:** Ignition\
**Tags:** database\
**Created:** [March 6, 2024, 10:56pm UTC](https://forum.inductiveautomation.com/t/how-to-track-changes-in-downtime-data/86942 "2024-03-06T22:56:57Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Joshua\_Alfaro](https://avatars.discourse-cdn.com/v4/letter/j/dfb087/32.png) [@Joshua\_Alfaro](https://forum.inductiveautomation.com/u/Joshua_Alfaro)\
**Post date:** [March 6, 2024, 10:56pm UTC](https://forum.inductiveautomation.com/t/how-to-track-changes-in-downtime-data/86942/1 "2024-03-06T22:56:57Z")

</div>

Team,

Is it possible for users to modify any of the downtime data that is being logged? If so, what steps can I take to implement a layer of data verification that ensures the data remains unchanged?

---

<div class="post-metadata">

**Author:** ![Transistor](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/transistor/32/3380_2.png) [@Transistor](https://forum.inductiveautomation.com/u/Transistor)\
**Post date:** [March 6, 2024, 11:08pm UTC](https://forum.inductiveautomation.com/t/how-to-track-changes-in-downtime-data/86942/2 "2024-03-06T23:08:20Z")

</div>

It depends!  
Where is it being logged?  
Are you using Ignition's Historian or your own table and INSERTs?  
Who has access to the database?  
Who has access to Designer to run SQL queries?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 6, 2024, 11:15pm UTC](https://forum.inductiveautomation.com/t/how-to-track-changes-in-downtime-data/86942/3 "2024-03-06T23:15:24Z")

</div>

Ignition as a whole makes database connections. All projects have equal access to the connection's privileges.

The only practical way to constrain what happens is to put triggers in the database to block improper operations. (Reject UPDATE, conditionally reject INSERT, on tables of concern.)

---

<div class="post-metadata">

**Author:** ![Lynn\_Martineau](https://avatars.discourse-cdn.com/v4/letter/l/f1d935/32.png) [@Lynn\_Martineau](https://forum.inductiveautomation.com/u/Lynn_Martineau)\
**Post date:** [March 6, 2024, 11:42pm UTC](https://forum.inductiveautomation.com/t/how-to-track-changes-in-downtime-data/86942/4 "2024-03-06T23:42:17Z")

</div>

We've had good success with database triggers automatically logging the timestamp, type of change and user ID making the edit (or interfacing application)..  
On critical tables, you can also log the history of changes by writing what the data was before the edit and compare the delta between the current record and the data in a "_tablename_\_HIST" table with three additional columns: CHANGE\_DTS, CHANGE\_TYPE, CHANGE\_USER
