294 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
			
		
		
	
	
			294 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
| /*
 | |
| * 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 ;
 | |
| 
 | |
| 
 | |
| 
 | 
