I always add a changelog data to my apps… it’s painful but worthwhile
It’s also not needed for most of the data changes so I just add it where it is needed
I also add a delete function to try and keep the change log a little less crazy (delete after 90 days)
certain things I log changes using specific datas and then I have my generic change log as well.
for instance for address I quite often create an “address” data and then just archive the old address when a new one is created. this way I can always see a history of address changes. (usually its address, name, phone etc - ie delivery details)