Developer DataBase Design¶
Developer数据库使用了开源的PostgreSQL数据库,推荐版本为12.2。PostgreSQL 是开源的对象-关系数据库服务器(ORDBMS),在灵活的BSD许可证下发行。进一步了解PostgreSQL可以点击这里。
tbl_plugin 存储开发者上传的插件信息,如名字、满意度、插件保存路径等
CREATE TABLE IF NOT EXISTS tbl_plugin (
pluginid varchar(255) NOT NULL, --Plugin ID
pluginname varchar(255) NOT NULL, --Plugin name
introduction varchar(500) NULL, --Introduction to the plugin
satisfaction float4 NOT NULL, --Satisfaction (rating)
codelanguage varchar(255) NOT NULL, --The programming language represented by the plugin
plugintype int4 NOT NULL, --Plugin type (1: plugin 2: sdk)
version varchar(255) NOT NULL, --Plugin version
downloadcount int4 NOT NULL, --download times
logofile varchar(500) NOT NULL, --Saved path of the plugin icon
pluginfile varchar(500) NOT NULL, --Save path of the plugin
userid varchar(255) NOT NULL, --ID of the user who uploaded the plugin
uploadtime timestamptz(6) NOT NULL, --Upload time
username varchar(255) NOT NULL, --The name of the user who uploaded the plugin
pluginsize int4 NOT NULL, --Plugin size (bytes)
apifile varchar(500) NOT NULL, --Saved path of the plugin API file
scorecount int4 NOT NULL, --Number of ratings for the plugin
pluginfilehashcode varchar(50) DEFAULT NULL --Plugin hash value, verification file
CONSTRAINT tbl_plugin_pkey PRIMARY KEY (pluginid)
);
tbl_downloadrecord 存储插件的下载记录,一个插件对应对应多条下载记录
CREATE TABLE IF NOT EXISTS tbl_downloadrecord (
recordid varchar(255) NOT NULL, --Download record ID
pluginid varchar(255) NOT NULL, --Plugin ID (corresponding to pluginid in tbl_plugin)
downloaduserid varchar(255) NOT NULL, --Download user ID
downloadusername varchar(255) NOT NULL, --Download user name
score float4 NOT NULL, --Rating score (1-5)
scoretype int4 NOT NULL, --Rating type
downloadtime timestamptz(0) NOT NULL, --Download time
CONSTRAINT tbl_downloadrecord_pkey PRIMARY KEY (recordid)
);
tbl_app_project 存储开发者在开发者平台自构建的应用项目的信息
CREATE TABLE IF NOT EXISTS tbl_app_project (
id varchar(50) NOT NULL, --Project ID
name varchar(100) NOT NULL, --project name
provider varchar(100) NOT NULL, --provider
platform varchar(100) NOT NULL, --Project structure
industries varchar(100) NOT NULL, --Project Industry
type varchar(50) NOT NULL, --Project type (video/security/game, etc.)
description text DEFAULT NULL, --project description
status varchar(20) NOT NULL, --Project status (tested, medium deployment)
user_id varchar(50) NOT NULL, --ID of the user who created the project
create_date timestamptz(6) DEFAULT NULL, --Creation time
last_test_id varchar(50) DEFAULT NULL, --ID of the last test
version varchar(50) DEFAULT NULL, --Project version
capabilities text DEFAULT NULL, --The ability of the project (the ability checked when creating the project)
project_type varchar(10) DEFAULT NULL, --Project type (new/migrated)
icon_file_id varchar(50) DEFAULT NULL, --ID of the project icon file
open_capability_id varchar(50) DEFAULT NULL, --Ability ID provided by the developer platform itself and shared by other developers
deploy_platform varchar(100) DEFAULT NULL, --Deployment method: virtual machine, container deployment
CONSTRAINT tbl_app_project_pkey PRIMARY KEY ( id )
);
tbl_project_image 存储开发者在开发者平台对自构建的应用项目进行部署测试时,开发者上传或者填写的镜像信息,一个项目的可以利用不同的镜像构建多次
CREATE TABLE IF NOT EXISTS tbl_project_image (
id varchar(255) NOT NULL, --image ID
image_info text DEFAULT NULL, --Store image information
project_id varchar(255) DEFAULT NULL, --Project ID (corresponding to the id in tbl_app_project)
helm_chart_file_id varchar(255) DEFAULT NULL, --id of uoloaded deploy yaml
CONSTRAINT tbl_project_image_pkey PRIMARY KEY ( id )
);
tbl_container_image 存储开发者在开发者平台上传容器镜像包时,生成的容器镜像信息
CREATE TABLE IF NOT EXISTS tbl_container_image (
image_id varchar(255) NOT NULL, --image ID
image_name varchar(255) NOT NULL, --image name
image_version varchar(255) NOT NULL, --image version
user_id varchar(255) NOT NULL, --the author id of upload container image
user_name varchar(255) NOT NULL, --the author name of upload container image
upload_time timestamptz(0) DEFAULT NULL, --upload image time
create_time timestamptz(0) DEFAULT NULL, --create db record time
image_status varchar(255) DEFAULT NULL, --image status
image_type varchar(255) DEFAULT NULL, --image type(private or public)
image_path text DEFAULT NULL, --image info(xxxx:xxx)
file_name varchar(255) DEFAULT NULL, --image type(private or public)
CONSTRAINT tbl_container_image_uniqueName UNIQUE (image_name,image_version,user_name),
CONSTRAINT tbl_container_image_pkey PRIMARY KEY (image_id)
);
tbl_app_project_capability 开发者新建容器应用项目时,选择平台能力(此表是项目和能力之间的关联表)
CREATE TABLE IF NOT EXISTS tbl_app_project_capability (
project_id varchar(50) NOT NULL, --project_id
capability_id varchar(50) NOT NULL, --capability id
CONSTRAINT tbl_app_project_capability_pkey PRIMARY KEY (project_id,capability_id)
);
tbl_capability_group 开发者新建容器应用项目时,选择平台能力(能力分类表)
CREATE TABLE IF NOT EXISTS tbl_capability_group (
id varchar(50) NOT NULL, --group id
name varchar(255) DEFAULT NULL, --capability group zh name
name_en varchar(255) DEFAULT NULL, --capability group en name
type varchar(20) DEFAULT NULL, --capability group type(openmep or openmep_eco)
description text DEFAULT NULL, --capability group desc
description_en text DEFAULT NULL, --capability group en desc
icon_file_id varchar(50) DEFAULT NULL, --group icon
author varchar(50) DEFAULT NULL, --the author of create group
update_time bigint NOT NULL DEFAULT 0, --update db record time
create_time bigint NOT NULL DEFAULT 0, --create db record time
CONSTRAINT tbl_capability_group_pkey PRIMARY KEY (id)
);
tbl_capability 开发者新建容器应用项目时,选择平台能力(能力详情表)
CREATE TABLE IF NOT EXISTS tbl_capability (
id varchar(50) NOT NULL, --capability id
name varchar(100) DEFAULT NULL, --capability zh name
name_en varchar(100) DEFAULT NULL, --capability en name
version varchar(100) DEFAULT NULL, --capability version
description text DEFAULT NULL, --capability desc
description_en text DEFAULT NULL, --capability en desc
provider varchar(100) DEFAULT NULL, --capability provider
api_file_id varchar(255) DEFAULT NULL, --capability api file
guide_file_id varchar(255) DEFAULT NULL, --capability guide file
guide_file_id_en varchar(255) DEFAULT NULL, --capability guide file(en version)
upload_time varchar(50) NOT NULL, --create capability time
host varchar(50) DEFAULT NULL, --registered service name
port int4 DEFAULT NULL, --service port
protocol varchar(20) DEFAULT NULL, --http,https
app_id varchar(255) DEFAULT NULL, --id posted to appstore
package_id varchar(255) DEFAULT NULL, --the packageId published to the appstore
user_id varchar(255) DEFAULT NULL, --the author id of create this capability
select_count integer NOT NULL DEFAULT 0, --the number of select this capability
icon_file_id varchar(50) DEFAULT NULL, --capability icon file
author varchar(50) DEFAULT NULL, --the author name of create this capability
experience_url text DEFAULT NULL, --the access url of capability
CONSTRAINT tbl_capability_pkey PRIMARY KEY (id)
);
tbl_project_test_config 存储开发者在开发者平台对自构建的应用项目进行部署测试的配置信息,包括镜像、服务器等,一个项目可以多次配置测试项进行部署测试
CREATE TABLE IF NOT EXISTS tbl_project_test_config (
test_id varchar(50) NOT NULL, --Test configuration ID
project_id varchar(50) NOT NULL, --Project ID (corresponding to the id in tbl_app_project)
agent_config text DEFAULT NULL, --MEP AGENT configuration item
image_file_id varchar(255) NOT NULL, --Image file ID
app_api_file_id varchar(50) DEFAULT NULL, --Project API document ID
deploy_file_id varchar(50) DEFAULT NULL, --Deployment file ID
private_host bool DEFAULT FALSE, --Whether the node is private
platform varchar(100) DEFAULT NULL, --Deployment method
access_url varchar(200) DEFAULT NULL, --Project accessible URl
error_log text DEFAULT NULL, --Project deployment test failed log
deploy_date timestamptz(6) DEFAULT NULL, --Project deployment time
hosts varchar(255) DEFAULT NULL, --Server information selected for project deployment
app_instance_id varchar(50) DEFAULT NULL, --The project deployment is successfully uploaded to the instance ID generated by the app store
work_load_id varchar(255) DEFAULT NULL, --Deploy the project to applcm
pods text DEFAULT NULL, --Deploy pods information
deploy_status varchar(255) DEFAULT NULL, --Deployment status
stage_status varchar(255) DEFAULT NULL, --Deployment steps
lcm_token varchar(1000) DEFAULT NULL, --lcm token
package_id varchar(255) DEFAULT NULL, --Generated csar package ID
CONSTRAINT tbl_project_test_config_pkey PRIMARY KEY ( test_id )
);
tbl_service_host 存储开发者在开发者平台对自构建的应用项目进行部署测试时,可供选择的服务器信息
CREATE TABLE IF NOT EXISTS tbl_service_host (
host_id varchar(50) NOT NULL, --Server id
user_id varchar(50) DEFAULT NULL, --UserId
name varchar(100) DEFAULT NULL, --server nickname
address varchar(255) DEFAULT NULL, --address
architecture varchar(100) DEFAULT NULL, --Architecture
status varchar(20) DEFAULT NULL, --status
protocol varchar(20) DEFAULT NULL, --protocol
lcm_ip varchar(20) DEFAULT NULL, --IP address
mec_host varchar(20) DEFAULT NULL, --mec host address
os varchar(255) DEFAULT NULL, --Operating system name
port_range_min int DEFAULT '-1', --Port minimum
port_range_max int DEFAULT '-1', --Maximum port
port int4 DEFAULT '-1', --Port value
user_name varchar(50) DEFAULT NULL, --User name required to log in to the host
password varchar(50) DEFAULT NULL, --Password required to log in to the host
vnc_port int4 DEFAULT 22, --The exposed connection port of the server deploying the edge application
parameter text DEFAULT NULL, --sandbox parameter
delete bool DEFAULT NULL, --delete or not
resource text DEFAULT NULL --Sandbox hardware information
);
tbl_uploaded_file 存储开发者在开发者平台对自构建的应用项目进行部署测试时,上传的图标、镜像、api等文件信息
CREATE TABLE IF NOT EXISTS tbl_uploaded_file (
file_id varchar(50) NOT NULL, --File ID
file_name varchar(255) DEFAULT NULL, --file name
is_temp bool DEFAULT NULL, --Is it a temporary file
user_id varchar(50) DEFAULT NULL, --ID of the user who uploaded the file
upload_date timestamptz(6) DEFAULT NULL, --Upload time
file_path varchar(255) DEFAULT NULL, --file path
CONSTRAINT tbl_uploaded_file_pkey PRIMARY KEY ( file_id )
);
tbl_helm_template_yaml 存储开发者在开发者平台对自构建的应用项目进行部署测试时,上传的Helm yaml文件信息(目前版本通过yaml部署),一个项目可以通过不同的yaml文件进行多次部署测试
CREATE TABLE IF NOT EXISTS tbl_helm_template_yaml (
file_id varchar(50) NOT NULL, --File ID
file_name varchar(255) DEFAULT NULL, --file name
user_id varchar(50) DEFAULT NULL, --ID of the user who uploaded the file
project_id varchar(50) DEFAULT NULL, --Project ID (corresponding to the id in tbl_app_project)
content text DEFAULT NULL, --document content
upload_time_stamp bigint DEFAULT NULL, --Upload time
config_type varchar(50) DEFAULT NULL, --Distinguish the deployment type (deployment file/visual configuration)
CONSTRAINT tbl_helm_template_yaml_pkey PRIMARY KEY ( file_id )
);
tbl_host_log 记录app项目在边缘节点上部署的日志
CREATE TABLE IF NOT EXISTS tbl_host_log (
log_id varchar(50) NOT NULL, --Log ID
host_ip varchar(50) NOT NULL, --host IP
user_name varchar(50) DEFAULT NULL, --username
user_id varchar(50) DEFAULT NULL, --User ID
project_id varchar(50) DEFAULT NULL, --Project ID
project_name varchar(50) DEFAULT NULL, --project name
app_instances_id varchar(50) DEFAULT NULL, --The instance ID of the app project
deploy_time varchar(50) DEFAULT NULL, --Project deployment time
status varchar(50) DEFAULT NULL, --host status
operation varchar(50) DEFAULT NULL, --operating
host_id varchar(50) DEFAULT NULL --host ID
);
tbl_release_config 存储应用发布对应的配置信息
CREATE TABLE IF NOT EXISTS tbl_release_config (
release_id varchar(255) NOT NULL, --Application release id
project_id varchar(255) NOT NULL, --Project id
guide_file_id varchar(255) DEFAULT NULL, --Guidance document ID
appinstance_id varchar(255) DEFAULT NULL, --Instantiated ID
capabilities_detail text DEFAULT NULL, --Application configuration information
atp_test text DEFAULT NULL, --atp test result
test_status varchar(255) DEFAULT NULL, --Test status
create_time timestamptz(0) NOT NULL DEFAULT NULL,--Creation time
CONSTRAINT tbl_release_config_pkey PRIMARY KEY (release_id)
);
tbl_vm_regulation 虚机规则,虚机属性说明(虚机部署时提供选择)
CREATE TABLE IF NOT EXISTS tbl_vm_regulation (
regulation_id SERIAL, --Rule id
architecture varchar(50) DEFAULT NULL, --Virtual machine architecture
name_zh varchar(50) NOT NULL DEFAULT NULL, --Chinese name of the virtual machine
name_en varchar(50) NOT NULL DEFAULT NULL, --English name of virtual machine
scene_zh varchar(255) DEFAULT NULL, --Virtual machine usage scenarios
scene_en varchar(255) DEFAULT NULL, --English description of virtual machine usage scenarios
memory int4 DEFAULT NULL, --Virtual Memory
cpu int4 DEFAULT NULL, --Virtual machine cpu
system_disk int4 DEFAULT NULL, --Virtual machine system disk size
data_disk int4 DEFAULT NULL, --Virtual machine data disk size
gpu varchar(50) DEFAULT NULL, --Virtual machine gpu
other_ability varchar(255) DEFAULT NULL --Other capabilities of the virtual machine
);
tbl_vm_network 虚机网络配置
CREATE TABLE IF NOT EXISTS tbl_vm_network (
network_type varchar(50) DEFAULT NULL, --Network Type
description_zh varchar(255) DEFAULT NULL, --Network Chinese description
description_en varchar(255) DEFAULT NULL, --English description of the network
network_name varchar(50) DEFAULT NULL --Network name
);
tbl_vm_system 虚机系统属性说明
CREATE TABLE IF NOT EXISTS tbl_vm_system (
system_id SERIAL, --System id
system_name varchar(128) DEFAULT NULL, --system vm name
type varchar(50) DEFAULT NULL, --System type
operate_system varchar(50) DEFAULT NULL, --system name
version varchar(50) NOT NULL DEFAULT NULL, --system version
system_bit varchar(50) DEFAULT NULL, --System size
system_disk int4 DEFAULT NULL --System disk description
user_id varchar(50) DEFAULT NULL, --author id or create db record
user_name varchar(50) DEFAULT NULL, --author name or create db record
create_time timestamptz(6) DEFAULT NULL, --create time
modify_time timestamptz(6) DEFAULT NULL, --update time
system_format varchar(50) DEFAULT NULL, --vm image format
system_size bigint DEFAULT NULL, --vm image size
system_slim varchar(50) DEFAULT NULL, --vm image size then slim
upload_time timestamptz(6) DEFAULT NULL, --vm image upload time
system_path varchar(128) DEFAULT NULL, --uploaded vm image path
file_name varchar(128) DEFAULT NULL, --uploaded vm image file name
file_md5 varchar(128) DEFAULT NULL, --uploaded vm image file md5 value
status varchar(50) DEFAULT NULL, --vm image status
file_identifier varchar(128) DEFAULT NULL, --uploaded vm image file identifier
error_type varchar(32) DEFAULT NULL, -- the type when upload vm image fail
CONSTRAINT tbl_vm_system_uniqueName UNIQUE (system_name,user_id),
CONSTRAINT tbl_vm_system_pkey PRIMARY KEY (system_id)
);
tbl_project_vm_create_config app项目虚机部署,创建虚机的配置说明
CREATE TABLE IF NOT EXISTS tbl_project_vm_create_config (
vm_id varchar(255) NOT NULL DEFAULT NULL, --Virtual machine id
project_id varchar(50) DEFAULT NULL, --Project id
vm_name varchar(50) DEFAULT NULL, --Virtual machine name
host varchar(512) DEFAULT NULL, --Virtual machine host description
status varchar(50) DEFAULT NULL, --Virtual machine state
stage_status varchar(500) DEFAULT NULL, --Virtual machine deployment step status
lcm_token varchar(1024) DEFAULT NULL, --lcm token
vm_info varchar(512) DEFAULT NULL, --Virtual machine information
app_instance_id varchar(50) DEFAULT NULL, --The id of the deployed app instance
package_id varchar(100) DEFAULT NULL, --Deploy the generated csar package id
create_time timestamptz(6) DEFAULT NULL, --Creation time
log text DEFAULT NULL, --Operation log
CONSTRAINT tbl_project_vm_create_config_pkey PRIMARY KEY ( vm_id )
);
tbl_project_vm_image_config app项目虚机部署,镜像配置说明
CREATE TABLE IF NOT EXISTS tbl_project_vm_image_config (
vm_id varchar(255) NOT NULL DEFAULT NULL, --Virtual machine id
image_id varchar(50) DEFAULT NULL, --Mirror id
project_id varchar(50) DEFAULT NULL, --Project id
vm_name varchar(50) NOT NULL DEFAULT NULL, --Virtual machine name
image_name varchar(50) DEFAULT NULL, --Mirror name
app_instance_id varchar(50) DEFAULT NULL, --Instance id
host_ip varchar(50) DEFAULT NULL, --Host ip
sum_chunk_num varchar(50) DEFAULT NULL, --Number of mirrored blocks
chunk_size varchar(50) DEFAULT NULL, --Mirror block size
stage_status varchar(500) DEFAULT NULL, --Deployment status
status varchar(512) DEFAULT NULL, --status
lcm_token varchar(1024) DEFAULT NULL, --lcm token
create_time timestamptz(6) DEFAULT NULL, --Creation time
log text DEFAULT NULL, --Log
CONSTRAINT tbl_project_vm_image_config_pkey PRIMARY KEY ( vm_id )
);
tbl_vm_user_data app项目虚机部署,存储的部署用户的信息
CREATE TABLE IF NOT EXISTS tbl_vm_user_data (
operate_system varchar(50) DEFAULT NULL, --vm system type
flavor_extra_specs text DEFAULT NULL, --user config flavor
is_temp bool DEFAULT NULL, --Determine whether the user is a temporary configuration
contents text DEFAULT NULL, --user config content
params text DEFAULT NULL, --user config param
CONSTRAINT tbl_vm_user_data_pkey PRIMARY KEY ( operate_system )
);
tbl_project_vm_package_config app项目虚机部署,生成虚机包所需的配置信息
CREATE TABLE IF NOT EXISTS tbl_project_vm_package_config (
id varchar(50) DEFAULT NULL, --id
project_id varchar(50) DEFAULT NULL, --project id
vm_regulation_desc text DEFAULT NULL, --Rule information required to generate sequel package
vm_system_desc text DEFAULT NULL, --vm image config info
vm_network_desc text DEFAULT NULL, --vm network config info
vm_user_data text DEFAULT NULL, --user config
vm_name varchar(500) DEFAULT NULL, --vm name
ak text DEFAULT NULL, --user config param
sk text DEFAULT NULL, --user config param
app_instance_id varchar(50) DEFAULT NULL, --instance id of generate vm pkg
create_time timestamptz(6) DEFAULT NULL, --create time
CONSTRAINT tbl_project_vm_package__uniqueProjectId UNIQUE (project_id),
CONSTRAINT tbl_project_vm_package_config_pkey PRIMARY KEY (id)
);