Database schema
New and repaired tables must use:
sql
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 DEFAULT COLLATE=utf8mb4_unicode_ciDates
Forbidden legacy values:
sql
'0000-00-00'
'0000-00-00 00:00:00'If a value does not exist, the column should be NULL.
Update SQL
Every structural change must have an update file matching the new package version.
Joomla database checker may misread some modern statements such as ADD COLUMN IF NOT EXISTS. If an idempotent repair is required, it should also be handled by the installer script through schema inspection.