Closed ghost closed 7 years ago
Proposed solution from our discussion in #2621: create a table that provides a complete audit log of all writes to VACOLS. Columns could include:
We should create a method that all code uses to write to VACOLS. This method will both do the write and create a row in the audit table. No code should write to VACOLS outside of this method.
We may need to be careful about transactions, rollbacks, and failed writes. We don't want to write to the audit table, have the VACOLS write fail, and then have erroneous data in the audit table.
The goal is that with this table, we can have complete data recovery from any corrupt data that Caseflow writes. It should also aid in debugging Caseflow.
Closing in favor of #2681.
Connects:
Problem
There is a possibility of data corruption when we deploy something buggy. This data corruption can propagate quickly down the Appeal stream and affect real lives.
We need a strategy to monitor what we write that is better than what we currently have (
Rails.logger
).Considerations