Details
Description
In the future, we may have to add new table columns (for instance, see OAK-3730).
We can somewhat decouple database changes from code changes by only using new columns when they are present.
However, we need to make sure that once the columns have been added and the system has started to use them, no older code writes to the DB (potentially causing inconsistencies because of not updating these columns).
To prevent this, code could check that it understands all columns it finds on startup. If there are unknown columns, it would need to abort and log an error that explains the compatibility issue.