OpenNIT

Quelltext des aktuellen Standes

Fassung 1.1.1

227_selfbackup_restore.sql

1 KB
-- ============================================================
-- 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';