You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
1.7 KiB
28 lines
1.7 KiB
CREATE TABLE IF NOT EXISTS live_callback_event (
|
|
event_id VARCHAR(256) PRIMARY KEY COMMENT '回调事件 ID',
|
|
stream_name VARCHAR(128) NOT NULL COMMENT '直播流名称',
|
|
event_type VARCHAR(32) NOT NULL COMMENT '回调事件类型',
|
|
payload_hash CHAR(64) NOT NULL COMMENT '回调载荷哈希',
|
|
received_at DATETIME NOT NULL COMMENT '接收时间',
|
|
processed_at DATETIME NULL COMMENT '处理时间',
|
|
KEY idx_live_callback_stream (stream_name, event_type, received_at)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
DELIMITER $$
|
|
DROP PROCEDURE IF EXISTS upgrade_live_callback $$
|
|
CREATE PROCEDURE upgrade_live_callback()
|
|
BEGIN
|
|
DECLARE item_count INT DEFAULT 0;
|
|
SELECT COUNT(*) INTO item_count FROM information_schema.columns
|
|
WHERE table_schema = DATABASE() AND table_name = 'live_session' AND column_name = 'device_streaming';
|
|
IF item_count = 0 THEN ALTER TABLE live_session ADD COLUMN device_streaming TINYINT(1) NOT NULL DEFAULT 0 COMMENT '设备是否正在推流'; END IF;
|
|
SELECT COUNT(*) INTO item_count FROM information_schema.columns
|
|
WHERE table_schema = DATABASE() AND table_name = 'live_session' AND column_name = 'cloud_online';
|
|
IF item_count = 0 THEN ALTER TABLE live_session ADD COLUMN cloud_online TINYINT(1) NOT NULL DEFAULT 0 COMMENT '云端是否在线'; END IF;
|
|
SELECT COUNT(*) INTO item_count FROM information_schema.columns
|
|
WHERE table_schema = DATABASE() AND table_name = 'live_session' AND column_name = 'cloud_checked_at';
|
|
IF item_count = 0 THEN ALTER TABLE live_session ADD COLUMN cloud_checked_at DATETIME NULL COMMENT '云端检查时间'; END IF;
|
|
END $$
|
|
CALL upgrade_live_callback() $$
|
|
DROP PROCEDURE upgrade_live_callback $$
|
|
DELIMITER ;
|
|
|