Quelltext des aktuellen Standes
-- ============================================================
-- Wiederherstellung aus dem Backend
-- ============================================================
-- Eine Wiederherstellung überschreibt die laufende Installation. Sie bleibt
-- deshalb an ein eigenes Recht gebunden: Wer Sicherungen anlegen darf, darf
-- damit noch nicht den gesamten Bestand ersetzen.
INSERT IGNORE INTO `capabilities` (`name`, `description`, `category`, `risk_level`) VALUES
('restore_selfbackup', 'Eine Sicherung zurückspielen und damit die laufende Installation ersetzen', 'system', 'critical');
INSERT IGNORE INTO `role_capabilities` (`role_id`, `capability_id`)
SELECT r.id, c.id FROM `roles` r, `capabilities` c
WHERE c.name = 'restore_selfbackup' AND r.is_admin = 1;
-- Vor jedem Zurückspielen entsteht ein Rückfallpunkt. Er ist weder von Hand
-- angestoßen noch planmäßig und bekommt deshalb eine eigene Herkunft.
ALTER TABLE `self_backups`
MODIFY COLUMN `origin` ENUM('manual','schedule','restore') NOT NULL DEFAULT 'manual'
COMMENT 'Wodurch der Lauf angestossen wurde';