Because the update function that deletes it looks like this:
function system_update_7036() {
// Get existing roles that can 'administer site configuration'.
$rids = db_query("SELECT rid FROM {role_permission} WHERE permission = :perm", array(':perm' => 'administer site configuration'))->fetchCol();
// None found.
if (empty($rids)) {
return;
}
// ... do other stuff ...
// Remove obsolete variable 'site_offline_message'. See
// update_fix_d7_requirements().
variable_del('site_offline_message');
}
So if you hit the early return, the code that deletes the stale variable never gets run.
Should be a simple fix - just move that code out of this update function and into a new one. I'm holding off on writing a patch for now, though, since this is likely to conflict with #984358: Upgrade from 6.x to 7.x always pulls your site out of maintenance mode immediately which is already well on its way to being committed.
| Comment | File | Size | Author |
|---|---|---|---|
| #2 | site-offline-message-987930-2.patch | 1.33 KB | Tor Arne Thune |
| #1 | site-offline-message-987930-1.patch | 1.67 KB | David_Rothstein |
Comments
Comment #1
David_Rothstein commentedComment #2
Tor Arne Thune commentedStill a valid issue and a quick fix! Re-rolling.
Comment #3
Tor Arne Thune commentedComment #4
aspilicious commentedComment #5
webchickNice catch.
Committed and pushed to 7.x. Thanks!