CREATE DATABASE EventsDB;

USE EventsDB;

CREATE TABLE Messages (
    id INT PRIMARY KEY AUTO_INCREMENT,
    message VARCHAR(100),
    created_at DATETIME
);

SET GLOBAL event_scheduler = ON;

#1.1 Створіть одноразову подію (слайд 33)
CREATE EVENT IF NOT EXISTS test_event_02
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 20 second
ON COMPLETION PRESERVE
DO
	INSERT INTO 
	Messages(message,created_at)
	VALUES('Test MySQL Event 2', DATE_FORMAT(
    CONVERT_TZ(
        UTC_TIMESTAMP(),
        '+00:00',
        'Europe/Kyiv'
    ),
    '%Y-%m-%d %H:%i:%s'
));

drop event test_event_02;

ALTER EVENT test_event_02
ON SCHEDULE AT NOW() 
ENABLE;

SHOW EVENTS;

# 1.2 Переконайтеся у її працездатності

select * from Messages;

# 2.1 Створіть повторювану подію (слайд 34)
CREATE EVENT test_event_03
ON SCHEDULE EVERY 1 MINUTE
STARTS CURRENT_TIMESTAMP
ENDS CURRENT_TIMESTAMP + INTERVAL 5 MINUTE
DO
   INSERT INTO Messages(message,created_at)
   VALUES('Test MySQL recurring Event', DATE_FORMAT(
    CONVERT_TZ(
        UTC_TIMESTAMP(),
        '+00:00',
        'Europe/Kyiv'
    ),
    '%Y-%m-%d %H:%i:%s'
));

drop event test_event_03;

SHOW EVENTS;

# 2.2 Переконайтеся у її працездатності

select * from Messages;

set global time_zone = 'Europe/Kyiv';