Загрузка данных


-- 1. Создаём таблицу для хранения удалённых записей
CREATE TABLE Лог_удалений (
    id INT PRIMARY KEY AUTO_INCREMENT,
    таблица VARCHAR(50),
    id_записи INT,
    данные JSON,
    дата_удаления TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    пользователь VARCHAR(50)
);

-- 2. Триггер для таблицы Материалы
DELIMITER $$
CREATE TRIGGER log_delete_Материалы
AFTER DELETE ON Материалы
FOR EACH ROW
BEGIN
    INSERT INTO Лог_удалений (таблица, id_записи, данные, пользователь)
    VALUES ('Материалы', OLD.id, 
            JSON_OBJECT('название', OLD.название, 'цена', OLD.цена),
            CURRENT_USER());
END$$

-- 3. Триггер для таблицы Изделия
CREATE TRIGGER log_delete_Изделия
AFTER DELETE ON Изделия
FOR EACH ROW
BEGIN
    INSERT INTO Лог_удалений (таблица, id_записи, данные, пользователь)
    VALUES ('Изделия', OLD.id,
            JSON_OBJECT('название', OLD.название, 'тип', OLD.тип),
            CURRENT_USER());
END$$

-- 4. Триггер для таблицы Заказы
CREATE TRIGGER log_delete_Заказы
AFTER DELETE ON Заказы
FOR EACH ROW
BEGIN
    INSERT INTO Лог_удалений (таблица, id_записи, данные, пользователь)
    VALUES ('Заказы', OLD.id,
            JSON_OBJECT('номер', OLD.номер, 'дата', OLD.дата, 'статус', OLD.статус),
            CURRENT_USER());
END$$

DELIMITER ;