I have a Tryton implementation that sets _history=True for project.work. It also has a custom numeric priority field on Work. There is a nightly cron job that cycles over any open Work instances and calculates the priority value, based on a number of factors. This priority value is used in ordering instances so user knows which Works should receive attention first.
Because we have a lot of Work instances (and they often remain open for many days), this has led to the Work history table becoming the largest table in our database, and has led to most of the history instances being priority changes that, IMO shouldn’t really be stored because they are really cached view data, rather than model data.
I am hoping to optimize this, and have two questions. (1) Will it break something if I deleted these priority-change-only history records? (2) Does it seem worthwhile to support a _history_ignore class attribute that takes a list of field names, such that writes that only change these fields do not create history instances? I believe that my implementation (a cached calculation used for ordering the view) is an appropriate use case for this feature.
Thanks, in advance, for your advice!