TMSS-1254: a faster in-database solution for aggregate properties on Subtask, TaskBlueprint, SchedulingUnitBlueprint
As discussed with architect @mol , we want guarantees that the start/stop times, duration and statuses are correct and up to date on each subtask change. This implementation with database triggers in sql guarentees that, and is waaaay faster then computing these in python, saving many ORM <-> database calls and (de)serialization.
The only(?) downside is that it may be a bit unclear for some less-experienced developers to see "where the action happens". I tried to address that by providing enough comments in code in the relevant places.
This MR has many changed files. Review hint: The core of the changeset is in migrations/0015_db_aggregates.py
. The rest is just adaptations to the new SchedulingUnitStatus and TaskStatus, and some test fixes/optimazations.
Closes TMSS-1254