-- Next healthcheck due date, recorded against the session that scheduled it. -- -- Stored as a VARCHAR(10) 'YYYY-MM-DD' calendar date rather than a BIGINT unix -- timestamp on purpose: this is a diary date a human picked ("look at this site -- again in October"), not an instant. A timestamp would drag timezone handling -- into something that has no time-of-day component, and would render as the -- wrong day for anyone east or west of the server. -- -- Kept per-session (not on a separate sites table) so the history of what was -- scheduled when is preserved. A site's *current* next-due is the value on its -- most recent session — see Store::allSitesSummary(). -- -- Portable: both MySQL 8 and SQLite accept ALTER TABLE ... ADD COLUMN with a -- nullable typed column and no default. Neither supports ADD COLUMN IF NOT -- EXISTS in a form the other understands, which is fine — Migrations.php only -- ever applies each file once. ALTER TABLE healthchecks ADD COLUMN next_due VARCHAR(10) NULL;