/* * 20240528 */ DELIMITER // -- 重定义分隔符避免分号冲突 CREATE PROCEDURE `wvp_20240528`() BEGIN IF NOT EXISTS (SELECT column_name FROM information_schema.columns WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_media_server' and column_name = 'transcode_suffix') THEN ALTER TABLE wvp_media_server ADD transcode_suffix character varying(255); END IF; IF not EXISTS (SELECT column_name FROM information_schema.columns WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_media_server' and column_name = 'type') THEN alter table wvp_media_server add type character varying(50) default 'zlm'; END IF; IF not EXISTS (SELECT column_name FROM information_schema.columns WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_media_server' and column_name = 'flv_port') THEN alter table wvp_media_server add flv_port integer; END IF; IF not EXISTS (SELECT column_name FROM information_schema.columns WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_media_server' and column_name = 'flv_ssl_port') THEN alter table wvp_media_server add flv_ssl_port integer; END IF; IF not EXISTS (SELECT column_name FROM information_schema.columns WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_media_server' and column_name = 'ws_flv_port') THEN alter table wvp_media_server add ws_flv_port integer; END IF; IF not EXISTS (SELECT column_name FROM information_schema.columns WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_media_server' and column_name = 'ws_flv_ssl_port') THEN alter table wvp_media_server add ws_flv_ssl_port integer; END IF; END; // call wvp_20240528(); DROP PROCEDURE wvp_20240528; DELIMITER ; create table IF NOT EXISTS wvp_user_api_key ( id serial primary key , user_id bigint, app character varying(255) , api_key text, expired_at bigint, remark character varying(255), enable bool default true, create_time character varying(50), update_time character varying(50) ); /* * 20241222 */ DELIMITER // -- 重定义分隔符避免分号冲突 CREATE PROCEDURE `wvp_20241222`() BEGIN IF EXISTS (SELECT column_name FROM information_schema.STATISTICS WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_device_channel' and INDEX_NAME = 'uk_wvp_device_channel_unique_device_channel') THEN alter table wvp_device_channel drop index uk_wvp_device_channel_unique_device_channel; END IF; IF EXISTS (SELECT column_name FROM information_schema.STATISTICS WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_device_channel' and INDEX_NAME = 'uk_wvp_unique_stream_push_id') THEN alter table wvp_device_channel drop index uk_wvp_unique_stream_push_id; END IF; IF EXISTS (SELECT column_name FROM information_schema.STATISTICS WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_device_channel' and INDEX_NAME = 'uk_wvp_unique_stream_proxy_id') THEN alter table wvp_device_channel drop index uk_wvp_unique_stream_proxy_id; END IF; IF not EXISTS (SELECT column_name FROM information_schema.columns WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_device_channel' and column_name = 'data_type') THEN alter table wvp_device_channel add data_type integer not null; END IF; IF not EXISTS (SELECT column_name FROM information_schema.columns WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_device_channel' and column_name = 'data_device_id') THEN alter table wvp_device_channel add data_device_id integer not null; END IF; IF EXISTS (SELECT column_name FROM information_schema.columns WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_device_channel' and column_name = 'device_db_id') THEN update wvp_device_channel wdc INNER JOIN (SELECT id, device_db_id from wvp_device_channel where device_db_id is not null ) ct on ct.id = wdc.id set wdc.data_type = 1, wdc.data_device_id = ct.device_db_id where wdc.device_db_id is not null; alter table wvp_device_channel drop device_db_id; END IF; IF EXISTS (SELECT column_name FROM information_schema.columns WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_device_channel' and column_name = 'stream_push_id') THEN update wvp_device_channel wdc INNER JOIN (SELECT id, stream_push_id from wvp_device_channel where stream_push_id is not null ) ct on ct.id = wdc.id set wdc.data_type = 2, wdc.data_device_id = ct.stream_push_id where wdc.stream_push_id is not null; alter table wvp_device_channel drop stream_push_id; END IF; IF EXISTS (SELECT column_name FROM information_schema.columns WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_device_channel' and column_name = 'stream_proxy_id') THEN update wvp_device_channel wdc INNER JOIN (SELECT id, stream_proxy_id from wvp_device_channel where stream_proxy_id is not null ) ct on ct.id = wdc.id set wdc.data_type = 3, wdc.data_device_id = ct.stream_proxy_id where wdc.stream_proxy_id is not null; alter table wvp_device_channel drop stream_proxy_id; END IF; END; // call wvp_20241222(); DROP PROCEDURE wvp_20241222; DELIMITER ; /* * 20241231 */ DELIMITER // CREATE PROCEDURE `wvp_20241231`() BEGIN IF not EXISTS (SELECT column_name FROM information_schema.columns WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_stream_proxy' and column_name = 'relates_media_server_id') THEN alter table wvp_stream_proxy add relates_media_server_id character varying(50); END IF; END; // call wvp_20241231(); DROP PROCEDURE wvp_20241231; DELIMITER ; /* * 20250111 */ DELIMITER // -- 重定义分隔符避免分号冲突 CREATE PROCEDURE `wvp_20250111`() BEGIN IF EXISTS (SELECT column_name FROM information_schema.STATISTICS WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_cloud_record' and INDEX_NAME = 'uk_stream_push_app_stream_path') THEN alter table wvp_cloud_record drop index uk_stream_push_app_stream_path ; END IF; IF EXISTS (SELECT column_name FROM information_schema.columns WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_cloud_record' and column_name = 'folder') THEN alter table wvp_cloud_record modify folder varchar(500) null; END IF; IF EXISTS (SELECT column_name FROM information_schema.columns WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_cloud_record' and column_name = 'file_path') THEN alter table wvp_cloud_record modify file_path varchar(500) null; END IF; END; // call wvp_20250111(); DROP PROCEDURE wvp_20250111; DELIMITER ; /* * 20250211 */ DELIMITER // -- 重定义分隔符避免分号冲突 CREATE PROCEDURE `wvp_20250211`() BEGIN IF EXISTS (SELECT column_name FROM information_schema.STATISTICS WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_device' and column_name = 'keepalive_interval_time') THEN alter table wvp_device change keepalive_interval_time heart_beat_interval integer after as_message_channel; END IF; IF not EXISTS (SELECT column_name FROM information_schema.columns WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_device' and column_name = 'heart_beat_count') THEN alter table wvp_device add heart_beat_count integer; END IF; IF not EXISTS (SELECT column_name FROM information_schema.columns WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_device' and column_name = 'position_capability') THEN alter table wvp_device add position_capability integer; END IF; END; // call wvp_20250211(); DROP PROCEDURE wvp_20250211; DELIMITER ; /** * 20250312 */ DELIMITER // -- 重定义分隔符避免分号冲突 CREATE PROCEDURE `wvp_20250312`() BEGIN DECLARE serverId VARCHAR(32) DEFAULT '你的服务ID'; IF not EXISTS (SELECT column_name FROM information_schema.columns WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_device' and column_name = 'server_id') THEN alter table wvp_device add server_id character varying(50); update wvp_device set server_id = serverId; END IF; IF not EXISTS (SELECT column_name FROM information_schema.columns WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_media_server' and column_name = 'server_id') THEN alter table wvp_media_server add server_id character varying(50); update wvp_media_server set server_id = serverId; END IF; IF not EXISTS (SELECT column_name FROM information_schema.columns WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_stream_proxy' and column_name = 'server_id') THEN alter table wvp_stream_proxy add server_id character varying(50); update wvp_stream_proxy set server_id = serverId; END IF; IF not EXISTS (SELECT column_name FROM information_schema.columns WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_cloud_record' and column_name = 'server_id') THEN alter table wvp_cloud_record add server_id character varying(50); update wvp_cloud_record set server_id = serverId; END IF; IF not EXISTS (SELECT column_name FROM information_schema.columns WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_platform' and column_name = 'server_id') THEN alter table wvp_platform add server_id character varying(50); END IF; END; // call wvp_20250312(); DROP PROCEDURE wvp_20250312; DELIMITER ; /* * 20250319 */ DELIMITER // -- 重定义分隔符避免分号冲突 CREATE PROCEDURE `wvp_20250319`() BEGIN IF NOT EXISTS (SELECT column_name FROM information_schema.columns WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_device_channel' and column_name = 'gps_speed') THEN alter table wvp_device_channel add gps_speed double precision; END IF; IF NOT EXISTS (SELECT column_name FROM information_schema.columns WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_device_channel' and column_name = 'gps_altitude') THEN alter table wvp_device_channel add gps_altitude double precision; END IF; IF NOT EXISTS (SELECT column_name FROM information_schema.columns WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_device_channel' and column_name = 'gps_direction') THEN alter table wvp_device_channel add gps_direction double precision; END IF; END; // call wvp_20250319(); DROP PROCEDURE wvp_20250319; DELIMITER ; /* * 20250402 */ DELIMITER // -- 重定义分隔符避免分号冲突 CREATE PROCEDURE `wvp_20250402`() BEGIN IF NOT EXISTS (SELECT column_name FROM information_schema.STATISTICS WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_device_channel' and INDEX_NAME = 'data_type') THEN create index data_type on wvp_device_channel (data_type); END IF; IF NOT EXISTS (SELECT column_name FROM information_schema.STATISTICS WHERE TABLE_SCHEMA = (SELECT DATABASE()) and table_name = 'wvp_device_channel' and INDEX_NAME = 'data_device_id') THEN create index data_device_id on wvp_device_channel (data_device_id); END IF; END; // call wvp_20250402(); DROP PROCEDURE wvp_20250402; DELIMITER ;