-- Keys can now be imported without picking a campaign. campaign_id was
-- already write-only for allocation purposes (ClaimService never reads it —
-- keys are handed out by product+platform only); it's used purely for the
-- per-campaign key count on campaigns.php and the "Campaign" column in the
-- keys export CSV, both of which already tolerate NULL correctly.

ALTER TABLE `keys` MODIFY campaign_id INT UNSIGNED NULL;
