fix: 数据库表变更

This commit is contained in:
TsMask
2024-04-12 17:25:43 +08:00
parent 608d726e54
commit b0e3825dd1
6 changed files with 76 additions and 65 deletions

View File

@@ -23,24 +23,25 @@ DROP TABLE IF EXISTS `ne_info`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `ne_info` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ne_type` varchar(32) NOT NULL,
`ne_id` varchar(32) NOT NULL DEFAULT '',
`rm_uid` varchar(40) DEFAULT NULL,
`ne_name` varchar(64) DEFAULT NULL,
`ip` varchar(128) DEFAULT '',
`port` int(11) DEFAULT NULL,
`pv_flag` enum('PNF','VNF') DEFAULT 'PNF',
`province` varchar(32) DEFAULT NULL,
`vendor_name` varchar(64) DEFAULT NULL,
`dn` varchar(255) DEFAULT NULL,
`ne_address` varchar(64) DEFAULT NULL,
`status` int(11) DEFAULT 0 COMMENT '0: 在线 1: 下线 2: 备用 3: 待下发配置',
`update_time` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(),
`host_ids` varchar(64) DEFAULT '' COMMENT '网元主机ID组 数据格式(ssh,telnet,telnet)',
`id` int NOT NULL AUTO_INCREMENT,
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '',
`rm_uid` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
`ne_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
`ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '',
`port` int DEFAULT NULL,
`pv_flag` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT 'PNF' COMMENT '''PNF'',''VNF''',
`province` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '省份地域',
`vendor_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
`dn` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
`ne_address` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'MAC地址',
`status` int DEFAULT '0' COMMENT '0离线 1在线 2配置待下发',
`update_time` bigint DEFAULT '0' COMMENT '更新时间',
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
`host_ids` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '网元主机ID组 数据格式(ssh,telnet,telnet)',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `idx_netype_neid` (`ne_type`,`ne_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=218 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='网元信息表';
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='网元信息表';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

View File

@@ -23,23 +23,22 @@ DROP TABLE IF EXISTS `ne_license`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `ne_license` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ne_type` varchar(16) DEFAULT NULL,
`ne_id` varchar(32) DEFAULT '',
`serial_no` varchar(16) DEFAULT NULL,
`capcity` int(11) DEFAULT NULL,
`used` int(11) DEFAULT NULL,
`feature_enabled` varchar(64) DEFAULT NULL,
`expiration_date` varchar(16) DEFAULT NULL,
`status` enum('ACTIVE','INACTIVE','PENDING') DEFAULT 'ACTIVE',
`path` varchar(128) DEFAULT NULL,
`file_name` varchar(64) DEFAULT NULL,
`comment` varchar(255) DEFAULT NULL,
`created_at` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(),
`updated_at` datetime DEFAULT NULL,
`deleted_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='NE license management';
`id` int NOT NULL AUTO_INCREMENT,
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元类型',
`ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元ID',
`activation_request_code` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '激活申请代码',
`license_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '激活授权文件',
`serial_num` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '序列号',
`expiry_date` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '许可证到期日期',
`status` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '0' COMMENT '状态 ''ACTIVE'',''INACTIVE'',''PENDING''',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '备注',
`create_by` varchar(50) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
`create_time` bigint DEFAULT '0' COMMENT '创建时间',
`update_by` varchar(50) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
`update_time` bigint DEFAULT '0' COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uk_type_id` (`ne_type`,`ne_id`) USING BTREE COMMENT '唯一网元类型和网元ID'
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='网元授权激活信息';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

View File

@@ -23,18 +23,19 @@ DROP TABLE IF EXISTS `ne_software`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `ne_software` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ne_type` varchar(32) DEFAULT NULL,
`file_name` varchar(64) DEFAULT NULL,
`path` varchar(128) DEFAULT '',
`version` varchar(32) DEFAULT NULL,
`md5_sum` varchar(64) DEFAULT NULL,
`status` enum('Uploaded','Inactive','Active') DEFAULT NULL,
`comment` varchar(255) DEFAULT NULL,
`update_time` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(),
`patch_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=68 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
`id` int NOT NULL AUTO_INCREMENT,
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元类型',
`name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '包名称',
`path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '包路径',
`version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '包版本',
`description` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '包说明',
`create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
`create_time` bigint DEFAULT '0' COMMENT '创建时间',
`update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
`update_time` bigint DEFAULT '0' COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uk_type_name_version` (`ne_type`,`name`,`version`) USING BTREE COMMENT '唯一网元类型和文件名版本是否唯一'
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='网元软件包';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

View File

@@ -23,19 +23,26 @@ DROP TABLE IF EXISTS `ne_version`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `ne_version` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`ne_type` varchar(32) DEFAULT NULL,
`ne_id` varchar(32) DEFAULT NULL,
`version` varchar(32) DEFAULT NULL,
`file_path` varchar(255) DEFAULT NULL,
`pre_version` varchar(32) DEFAULT NULL,
`pre_file` varchar(255) DEFAULT NULL,
`new_version` varchar(32) DEFAULT NULL,
`new_file` varchar(255) DEFAULT NULL,
`status` enum('Uploaded','Inactive','Active') DEFAULT NULL,
`update_time` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp(),
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
`id` int NOT NULL AUTO_INCREMENT,
`ne_type` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元类型',
`ne_id` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '网元ID',
`name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '当前包名',
`version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '当前版本',
`path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '当前软件包',
`pre_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '上一版本包名',
`pre_version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '上一版本',
`pre_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '上一版本软件包',
`new_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '新版本报名',
`new_version` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '新版本',
`new_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '新版软件包',
`status` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '当前状态 1当前版本 2上一版本 3有新版本',
`create_by` varchar(50) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '创建者',
`create_time` bigint DEFAULT '0' COMMENT '创建时间',
`update_by` varchar(50) COLLATE utf8mb4_general_ci DEFAULT '' COMMENT '更新者',
`update_time` bigint DEFAULT '0' COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uk_type_id` (`ne_type`,`ne_id`) USING BTREE COMMENT '唯一网元类型和ID'
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC COMMENT='网元版本信息';
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

View File

@@ -608,7 +608,7 @@ func DistributeSoftwareToNF(w http.ResponseWriter, r *http.Request) {
Version: (*neSoftware)[0]["version"],
FilePath: fmt.Sprintf("%s/software/%s/%s", config.GetYamlConfig().NE.OmcDir, neTypeLower, fileName),
PreVersion: (*neVersion)[0]["version"],
PreFile: (*neVersion)[0]["file_path"],
PreFile: (*neVersion)[0]["path"],
Status: SoftwareStatusInactive,
}
@@ -692,7 +692,7 @@ func ActiveSoftwareToNF(w http.ResponseWriter, r *http.Request) {
log.Trace("neVersion:", neVersion)
if !config.GetYamlConfig().OMC.TestMode {
filePath := (*neVersion)[0]["file_path"]
filePath := (*neVersion)[0]["path"]
sshHost := fmt.Sprintf("%s@%s", config.GetYamlConfig().NE.User, neInfo.Ip)
srcFile := fmt.Sprintf("%s/actpkg.sh", config.GetYamlConfig().OMC.BinDir)
@@ -916,7 +916,7 @@ func RollBackSoftwareToNF(w http.ResponseWriter, r *http.Request) {
PreVersion: "-",
PreFile: "-",
NewVersion: (*neVersion)[0]["version"],
NewFile: (*neVersion)[0]["file_path"],
NewFile: (*neVersion)[0]["path"],
Status: SoftwareStatusActive,
}
@@ -1018,7 +1018,7 @@ func RollBackSoftwareToNF(w http.ResponseWriter, r *http.Request) {
PreVersion: "-",
PreFile: "-",
NewVersion: (*neVersion)[0]["version"],
NewFile: (*neVersion)[0]["file_path"],
NewFile: (*neVersion)[0]["path"],
Status: SoftwareStatusActive,
}

View File

@@ -5,13 +5,16 @@ type NeVersion struct {
ID string `json:"id" gorm:"id"`
NeType string `json:"neType" gorm:"ne_type" binding:"required"` // 网元类型
NeId string `json:"neId" gorm:"ne_id" binding:"required"` // 网元ID
Name string `json:"name" gorm:"name"` // 当前包名
Version string `json:"version" gorm:"version" binding:"required"` // 当前版本
Path string `json:"path" gorm:"path" binding:"required"` // 当前软件包
PreName string `json:"preName" gorm:"pre_name"` // 上一版本包名
PreVersion string `json:"preVersion" gorm:"pre_version"` // 上一版本
PrePath string `json:"prePath" gorm:"pre_path"` // 上一版本软件包
NewVersion string `json:"newVersion" gorm:"new_version"` // 下一版本
NewPath string `json:"newPath" gorm:"new_path"` // 下一版本软件包
Status string `json:"status" gorm:"status"` // 当前状态 1当前版本 2上一版本 3有新版本 (Uploaded下一版本上传 Inactive下一版本待激活 Active当前已激活)
NewName string `json:"newName" gorm:"new_name"` // 新版本包名
NewVersion string `json:"newVersion" gorm:"new_version"` // 新版本
NewPath string `json:"newPath" gorm:"new_path"` // 新版本软件包
Status string `json:"status" gorm:"status"` // 当前状态 1当前版本 2上一版本 3有新版本
CreateBy string `json:"createBy" gorm:"column:create_by"` // 创建者
CreateTime int64 `json:"createTime" gorm:"column:create_time"` // 创建时间
UpdateBy string `json:"updateBy" gorm:"column:update_by"` // 更新者