低空智控平台 后端go
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

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 ;