Currently, in the COPPER table schemas, we almost always set all columns to NOT NULL.
Often enough (e.g. timeout for a workflow not yet started which thus effectively had no timeout) we initialize the values with some default values like 0 as in the mentioned example case. Those default values are sometimes wrong and meaningless. We thus need to refactor the table schemas and our code to allow for NULL values where appropriate.
As this is a change affecting the schema, it should only be applied for a new major release where a schema change is necessary anyway. It's not worth the effort for a user to update the schemas just for the purpose of having it more clean.
We also need to offer a COPPER-versionX-to-versionX-database-migration.sql.