429 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
			
		
		
	
	
			429 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			SQL
		
	
	
	
	
	
| 
 | |
| drop table if exists wvp_resources_tree;
 | |
| drop table if exists wvp_platform_catalog;
 | |
| drop table if exists wvp_platform_gb_stream;
 | |
| drop table if exists wvp_platform_gb_channel;
 | |
| drop table if exists wvp_gb_stream;
 | |
| drop table if exists wvp_log;
 | |
| drop table IF EXISTS wvp_device;
 | |
| drop table IF EXISTS wvp_platform;
 | |
| drop table IF EXISTS wvp_media_server;
 | |
| drop table IF EXISTS wvp_device_mobile_position;
 | |
| drop table IF EXISTS wvp_device_channel;
 | |
| drop table IF EXISTS wvp_stream_proxy;
 | |
| drop table IF EXISTS wvp_stream_push;
 | |
| 
 | |
| create table IF NOT EXISTS wvp_device
 | |
| (
 | |
|     id                                  serial primary key,
 | |
|     device_id                           character varying(50) not null,
 | |
|     name                                character varying(255),
 | |
|     manufacturer                        character varying(255),
 | |
|     model                               character varying(255),
 | |
|     firmware                            character varying(255),
 | |
|     transport                           character varying(50),
 | |
|     stream_mode                         character varying(50),
 | |
|     on_line                             bool    default false,
 | |
|     register_time                       character varying(50),
 | |
|     keepalive_time                      character varying(50),
 | |
|     ip                                  character varying(50),
 | |
|     create_time                         character varying(50),
 | |
|     update_time                         character varying(50),
 | |
|     port                                integer,
 | |
|     expires                             integer,
 | |
|     subscribe_cycle_for_catalog         integer DEFAULT 0,
 | |
|     subscribe_cycle_for_mobile_position integer DEFAULT 0,
 | |
|     mobile_position_submission_interval integer DEFAULT 5,
 | |
|     subscribe_cycle_for_alarm           integer DEFAULT 0,
 | |
|     host_address                        character varying(50),
 | |
|     charset                             character varying(50),
 | |
|     ssrc_check                          bool    default false,
 | |
|     geo_coord_sys                       character varying(50),
 | |
|     media_server_id                     character varying(50) default 'auto',
 | |
|     custom_name                         character varying(255),
 | |
|     sdp_ip                              character varying(50),
 | |
|     local_ip                            character varying(50),
 | |
|     password                            character varying(255),
 | |
|     as_message_channel                  bool    default false,
 | |
|     heart_beat_interval                 integer,
 | |
|     heart_beat_count                    integer,
 | |
|     position_capability                 integer,
 | |
|     broadcast_push_after_ack            bool    default false,
 | |
|     server_id                           character varying(50),
 | |
|     constraint uk_device_device unique (device_id)
 | |
| );
 | |
| 
 | |
| create table if not exists wvp_common_group
 | |
| (
 | |
|     id               bigint unsigned auto_increment primary key,
 | |
|     device_id        varchar(50)  not null,
 | |
|     name             varchar(255) not null,
 | |
|     parent_id        int          null,
 | |
|     parent_device_id varchar(50)  null,
 | |
|     business_group   varchar(50)  not null,
 | |
|     create_time      varchar(50)  not null,
 | |
|     update_time      varchar(50)  not null,
 | |
|     civil_code       varchar(50)  null,
 | |
|     constraint id
 | |
|     unique (id),
 | |
|     constraint uk_common_group_device_platform
 | |
|     unique (device_id)
 | |
| );
 | |
| 
 | |
| create table if not exists wvp_common_region
 | |
| (
 | |
|     id               bigint unsigned auto_increment
 | |
|     primary key,
 | |
|     device_id        varchar(50)  not null,
 | |
|     name             varchar(255) not null,
 | |
|     parent_id        int          null,
 | |
|     parent_device_id varchar(50)  null,
 | |
|     create_time      varchar(50)  not null,
 | |
|     update_time      varchar(50)  not null,
 | |
|     constraint id
 | |
|     unique (id),
 | |
|     constraint uk_common_region_device_id
 | |
|     unique (device_id)
 | |
| );
 | |
| 
 | |
| create table IF NOT EXISTS wvp_device_channel
 | |
| (
 | |
|     id                           serial primary key,
 | |
|     device_id                    character varying(50),
 | |
|     name                         character varying(255),
 | |
|     manufacturer                 character varying(50),
 | |
|     model                        character varying(50),
 | |
|     owner                        character varying(50),
 | |
|     civil_code                   character varying(50),
 | |
|     block                        character varying(50),
 | |
|     address                      character varying(50),
 | |
|     parental                     integer,
 | |
|     parent_id                    character varying(50),
 | |
|     safety_way                   integer,
 | |
|     register_way                 integer,
 | |
|     cert_num                     character varying(50),
 | |
|     certifiable                  integer,
 | |
|     err_code                     integer,
 | |
|     end_time                     character varying(50),
 | |
|     secrecy                      integer,
 | |
|     ip_address                   character varying(50),
 | |
|     port                         integer,
 | |
|     password                     character varying(255),
 | |
|     status                       character varying(50),
 | |
|     longitude                    double precision,
 | |
|     latitude                     double precision,
 | |
|     ptz_type                     integer,
 | |
|     position_type                integer,
 | |
|     room_type                    integer,
 | |
|     use_type                     integer,
 | |
|     supply_light_type            integer,
 | |
|     direction_type               integer,
 | |
|     resolution                   character varying(255),
 | |
|     business_group_id            character varying(255),
 | |
|     download_speed               character varying(255),
 | |
|     svc_space_support_mod        integer,
 | |
|     svc_time_support_mode        integer,
 | |
|     create_time                  character varying(50) not null,
 | |
|     update_time                  character varying(50) not null,
 | |
|     sub_count                    integer,
 | |
|     stream_id                    character varying(255),
 | |
|     has_audio                    bool default false,
 | |
|     gps_time                     character varying(50),
 | |
|     stream_identification        character varying(50),
 | |
|     channel_type                 int  default 0        not null,
 | |
|     gb_device_id                 character varying(50),
 | |
|     gb_name                      character varying(255),
 | |
|     gb_manufacturer              character varying(255),
 | |
|     gb_model                     character varying(255),
 | |
|     gb_owner                     character varying(255),
 | |
|     gb_civil_code                character varying(255),
 | |
|     gb_block                     character varying(255),
 | |
|     gb_address                   character varying(255),
 | |
|     gb_parental                  integer,
 | |
|     gb_parent_id                 character varying(255),
 | |
|     gb_safety_way                integer,
 | |
|     gb_register_way              integer,
 | |
|     gb_cert_num                  character varying(50),
 | |
|     gb_certifiable               integer,
 | |
|     gb_err_code                  integer,
 | |
|     gb_end_time                  character varying(50),
 | |
|     gb_secrecy                   integer,
 | |
|     gb_ip_address                character varying(50),
 | |
|     gb_port                      integer,
 | |
|     gb_password                  character varying(50),
 | |
|     gb_status                    character varying(50),
 | |
|     gb_longitude                 double,
 | |
|     gb_latitude                  double,
 | |
|     gb_business_group_id         character varying(50),
 | |
|     gb_ptz_type                  integer,
 | |
|     gb_position_type             integer,
 | |
|     gb_room_type                 integer,
 | |
|     gb_use_type                  integer,
 | |
|     gb_supply_light_type         integer,
 | |
|     gb_direction_type            integer,
 | |
|     gb_resolution                character varying(255),
 | |
|     gb_download_speed            character varying(255),
 | |
|     gb_svc_space_support_mod     integer,
 | |
|     gb_svc_time_support_mode     integer,
 | |
|     record_plan_id               integer,
 | |
|     data_type                    integer not null,
 | |
|     data_device_id               integer not null,
 | |
|     gps_speed                    double precision,
 | |
|     gps_altitude                 double precision,
 | |
|     gps_direction                double precision,
 | |
|     index (data_type),
 | |
|     index (data_device_id),
 | |
|     constraint uk_wvp_unique_channel unique (gb_device_id)
 | |
| );
 | |
| 
 | |
| create table IF NOT EXISTS wvp_device_mobile_position
 | |
| (
 | |
|     id              serial primary key,
 | |
|     device_id       character varying(50) not null,
 | |
|     channel_id      character varying(50) not null,
 | |
|     device_name     character varying(255),
 | |
|     time            character varying(50),
 | |
|     longitude       double precision,
 | |
|     latitude        double precision,
 | |
|     altitude        double precision,
 | |
|     speed           double precision,
 | |
|     direction       double precision,
 | |
|     report_source   character varying(50),
 | |
|     create_time     character varying(50)
 | |
| );
 | |
| 
 | |
| create table IF NOT EXISTS wvp_media_server
 | |
| (
 | |
|     id                  character varying(255) primary key,
 | |
|     ip                  character varying(50),
 | |
|     hook_ip             character varying(50),
 | |
|     sdp_ip              character varying(50),
 | |
|     stream_ip           character varying(50),
 | |
|     http_port           integer,
 | |
|     http_ssl_port       integer,
 | |
|     rtmp_port           integer,
 | |
|     rtmp_ssl_port       integer,
 | |
|     rtp_proxy_port      integer,
 | |
|     rtsp_port           integer,
 | |
|     rtsp_ssl_port       integer,
 | |
|     flv_port            integer,
 | |
|     flv_ssl_port        integer,
 | |
|     ws_flv_port         integer,
 | |
|     ws_flv_ssl_port     integer,
 | |
|     auto_config         bool                  default false,
 | |
|     secret              character varying(50),
 | |
|     type                character varying(50) default 'zlm',
 | |
|     rtp_enable          bool                  default false,
 | |
|     rtp_port_range      character varying(50),
 | |
|     send_rtp_port_range character varying(50),
 | |
|     record_assist_port  integer,
 | |
|     default_server      bool                  default false,
 | |
|     create_time         character varying(50),
 | |
|     update_time         character varying(50),
 | |
|     hook_alive_interval integer,
 | |
|     record_path         character varying(255),
 | |
|     record_day          integer               default 7,
 | |
|     transcode_suffix    character varying(255),
 | |
|     server_id           character varying(50),
 | |
|     constraint uk_media_server_unique_ip_http_port unique (ip, http_port, server_id)
 | |
| );
 | |
| 
 | |
| create table IF NOT EXISTS wvp_platform
 | |
| (
 | |
|     id                    serial primary key,
 | |
|     enable                bool default false,
 | |
|     name                  character varying(255),
 | |
|     server_gb_id          character varying(50),
 | |
|     server_gb_domain      character varying(50),
 | |
|     server_ip             character varying(50),
 | |
|     server_port           integer,
 | |
|     device_gb_id          character varying(50),
 | |
|     device_ip             character varying(50),
 | |
|     device_port           character varying(50),
 | |
|     username              character varying(255),
 | |
|     password              character varying(50),
 | |
|     expires               character varying(50),
 | |
|     keep_timeout          character varying(50),
 | |
|     transport             character varying(50),
 | |
|     civil_code            character varying(50),
 | |
|     manufacturer          character varying(255),
 | |
|     model                 character varying(255),
 | |
|     address               character varying(255),
 | |
|     character_set         character varying(50),
 | |
|     ptz                   bool default false,
 | |
|     rtcp                  bool default false,
 | |
|     status                bool default false,
 | |
|     catalog_group         integer,
 | |
|     register_way          integer,
 | |
|     secrecy               integer,
 | |
|     create_time           character varying(50),
 | |
|     update_time           character varying(50),
 | |
|     as_message_channel    bool default false,
 | |
|     catalog_with_platform integer default 1,
 | |
|     catalog_with_group    integer default 1,
 | |
|     catalog_with_region   integer default 1,
 | |
|     auto_push_channel     bool default true,
 | |
|     send_stream_ip        character varying(50),
 | |
|     server_id             character varying(50),
 | |
|     constraint uk_platform_unique_server_gb_id unique (server_gb_id)
 | |
| );
 | |
| 
 | |
| create table IF NOT EXISTS wvp_stream_proxy
 | |
| (
 | |
|     id                         serial primary key,
 | |
|     type                       character varying(50),
 | |
|     app                        character varying(255),
 | |
|     stream                     character varying(255),
 | |
|     src_url                    character varying(255),
 | |
|     timeout                    integer,
 | |
|     ffmpeg_cmd_key             character varying(255),
 | |
|     rtsp_type                  character varying(50),
 | |
|     media_server_id            character varying(50),
 | |
|     enable_audio               bool default false,
 | |
|     enable_mp4                 bool default false,
 | |
|     pulling                    bool default false,
 | |
|     enable                     bool default false,
 | |
|     enable_remove_none_reader  bool default false,
 | |
|     create_time                character varying(50),
 | |
|     name                       character varying(255),
 | |
|     update_time                character varying(50),
 | |
|     stream_key                 character varying(255),
 | |
|     server_id                  character varying(50),
 | |
|     enable_disable_none_reader bool default false,
 | |
|     relates_media_server_id    character varying(50),
 | |
|     constraint uk_stream_proxy_app_stream unique (app, stream)
 | |
| );
 | |
| 
 | |
| create table IF NOT EXISTS wvp_stream_push
 | |
| (
 | |
|     id                 serial primary key,
 | |
|     app                character varying(255),
 | |
|     stream             character varying(255),
 | |
|     create_time        character varying(50),
 | |
|     media_server_id    character varying(50),
 | |
|     server_id          character varying(50),
 | |
|     push_time          character varying(50),
 | |
|     status             bool default false,
 | |
|     update_time        character varying(50),
 | |
|     pushing            bool default false,
 | |
|     self               bool default false,
 | |
|     start_offline_push bool default true,
 | |
|     constraint uk_stream_push_app_stream unique (app, stream)
 | |
| );
 | |
| 
 | |
| create table IF NOT EXISTS wvp_platform_channel
 | |
| (
 | |
|     id                           serial primary key,
 | |
|     platform_id                  integer,
 | |
|     device_channel_id            integer,
 | |
|     custom_device_id             character varying(50),
 | |
|     custom_name                  character varying(255),
 | |
|     custom_manufacturer          character varying(50),
 | |
|     custom_model                 character varying(50),
 | |
|     custom_owner                 character varying(50),
 | |
|     custom_civil_code            character varying(50),
 | |
|     custom_block                 character varying(50),
 | |
|     custom_address               character varying(50),
 | |
|     custom_parental              integer,
 | |
|     custom_parent_id             character varying(50),
 | |
|     custom_safety_way            integer,
 | |
|     custom_register_way          integer,
 | |
|     custom_cert_num              character varying(50),
 | |
|     custom_certifiable           integer,
 | |
|     custom_err_code              integer,
 | |
|     custom_end_time              character varying(50),
 | |
|     custom_secrecy               integer,
 | |
|     custom_ip_address            character varying(50),
 | |
|     custom_port                  integer,
 | |
|     custom_password              character varying(255),
 | |
|     custom_status                character varying(50),
 | |
|     custom_longitude             double precision,
 | |
|     custom_latitude              double precision,
 | |
|     custom_ptz_type              integer,
 | |
|     custom_position_type         integer,
 | |
|     custom_room_type             integer,
 | |
|     custom_use_type              integer,
 | |
|     custom_supply_light_type     integer,
 | |
|     custom_direction_type        integer,
 | |
|     custom_resolution            character varying(255),
 | |
|     custom_business_group_id     character varying(255),
 | |
|     custom_download_speed        character varying(255),
 | |
|     custom_svc_space_support_mod integer,
 | |
|     custom_svc_time_support_mode integer,
 | |
|     constraint uk_platform_gb_channel_platform_id_catalog_id_device_channel_id unique (platform_id, device_channel_id),
 | |
|     constraint uk_platform_gb_channel_device_id unique (custom_device_id)
 | |
| );
 | |
| 
 | |
| create table IF NOT EXISTS wvp_platform_group
 | |
| (
 | |
|     id          serial primary key,
 | |
|     platform_id integer,
 | |
|     group_id    integer,
 | |
|     constraint uk_wvp_platform_group_platform_id_group_id unique (platform_id, group_id)
 | |
| );
 | |
| 
 | |
| create table IF NOT EXISTS wvp_platform_region
 | |
| (
 | |
|     id          serial primary key,
 | |
|     platform_id integer,
 | |
|     region_id   integer,
 | |
|     constraint uk_wvp_platform_region_platform_id_group_id unique (platform_id, region_id)
 | |
| );
 | |
| 
 | |
| create table IF NOT EXISTS wvp_record_plan
 | |
| (
 | |
|     id              serial primary key,
 | |
|     snap            bool default false,
 | |
|     name            varchar(255) NOT NULL,
 | |
|     create_time     character varying(50),
 | |
|     update_time     character varying(50)
 | |
| );
 | |
| 
 | |
| create table IF NOT EXISTS wvp_record_plan_item
 | |
| (
 | |
|     id              serial primary key,
 | |
|     start           int,
 | |
|     stop            int,
 | |
|     week_day        int,
 | |
|     plan_id         int,
 | |
|     create_time     character varying(50),
 | |
|     update_time     character varying(50)
 | |
| );
 | |
| 
 | |
| 
 | |
| DELIMITER //  -- 重定义分隔符避免分号冲突
 | |
| CREATE PROCEDURE `wvp_20250111`()
 | |
| BEGIN
 | |
| 
 | |
|     DECLARE serverId VARCHAR(32) DEFAULT '你的服务ID';
 | |
| 
 | |
|     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;
 | |
| 
 | |
|     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;
 | |
| END;//
 | |
| call wvp_20250111();
 | |
| DROP PROCEDURE wvp_20250111;
 | |
| DELIMITER ;
 | |
| 
 | 
