In a customer project I was asked how you can keep track of database changes: Who changed what at which date and time. Goal was to track insert, update and delete for both SQL and object access.
This is the table that I created to keep the Change Log:
/// Changelog, keep track of changes to any table
Class ChangeLog.DB.ChangeLog Extends (%Persistent, %JSON.Adaptor)
{
/// Action
Property Action As %String(%JSONFIELDNAME = "action", DISPLAYLIST = ",Create,Update,Delete", MAXLEN = 1, VALUELIST = ",0,1,2");
/// Classname of the %Persistent class
Property ClassName As %String(%JSONFIELDNAME = "t.png)

.png)
.png)
.png)
.png)
.png)
.png)
.png)

.png)
.png)