There are multiple possible outputs for an Icinga DB version. The
package version contain the git tag, with a leading "v". The development
version mimics git-describe(1), including a commit hash separated by a
dash after the semantic version.
The current version comparison uses PHP's builtin version_compare().
This results in leading "v"s to return invalid results. Furthermore, it
treats everything behind the version as an "any string"[^0], which is
smaller than dev, alpha, beta, and so on. Thus, any git-describe(1)
version of Icinga DB 1.4.0 would be considered smaller as 1.4.0.
Fixes#1230.
[^0]: https://www.php.net/manual/en/function.version-compare.php
The old redis schema is incompatible with v1.2.0 hence the
health check should report a critical incident instead.
Also updates the health view to show a proper message.
The `Timestamp` behavior returns float values, which the database (pgsql) cannot convert properly.
We already have a `MillisecondTimestamp` behavior, so we should use that.