update
This commit is contained in:
1 parent
0690285147
commit
5618cd2738
154 files changed
+5021
-3161
No files matched your search
@@ -96,7 +96,6 @@ func AutoMigrate(db *gorm.DB) error {
|
||||
&model.AlertNotifyPolicy{}, // 告警集合通知策略 // Logan.Li
|
||||
&model.AlertNotifySettings{}, // 告警消息模版 // Logan.Li
|
||||
&model.NotifyChannel{},
|
||||
&model.MetricData{},
|
||||
&model.Pipeline{},
|
||||
&model.PipelineRun{},
|
||||
&model.BuildNode{},
|
||||
@@ -121,11 +120,10 @@ func AutoMigrate(db *gorm.DB) error {
|
||||
&model.AgentTask{},
|
||||
&model.AgentRule{},
|
||||
&model.AgentAlert{},
|
||||
&model.AgentPortPolicy{}, // Agent 端口策略 // Logan.Li
|
||||
&model.AnsiblePlaybook{},
|
||||
&model.AnsibleJob{},
|
||||
&model.AnsibleInventory{},
|
||||
&model.LogSource{},
|
||||
&model.LogEntry{},
|
||||
&model.TopologyLayout{}, // 拓扑布局保存 // Logan.Li
|
||||
&model.TerminalSession{}, // 终端会话录制(终端审计) // Logan.Li
|
||||
&model.RDPSession{}, // RDP 图形会话审计 // Logan.Li
|
||||
@@ -136,7 +134,6 @@ func AutoMigrate(db *gorm.DB) error {
|
||||
&model.MetricsAggregate{}, // 指标时序聚合(Redis → MySQL)// Logan.Li
|
||||
&model.MonitorTarget{}, // 监控目标(主机/中间件/设备/站点) // Logan.Li
|
||||
&model.MonitorMetric{}, // 监控指标定义 // Logan.Li
|
||||
&model.MetricValue{}, // 指标当前值 // Logan.Li
|
||||
&model.MetricHistory{}, // 指标历史时序 // Logan.Li
|
||||
&model.HostGroup{}, // 主机组 // Logan.Li
|
||||
&model.SNMPDevice{}, // SNMP设备 // Logan.Li
|
||||
@@ -152,8 +149,6 @@ func AutoMigrate(db *gorm.DB) error {
|
||||
&model.ZabbixDataSource{}, // Zabbix 数据源配置 // Logan.Li
|
||||
&model.LogDataSource{}, // Loki / ES 日志数据源 // Logan.Li
|
||||
&model.Credential{}, // 凭据管理(SSH密钥/API Token) // Logan.Li
|
||||
&model.PipelineRepo{}, // Git 仓库认证 // Logan.Li
|
||||
&model.PipelineRegistry{}, // 镜像仓库认证 // Logan.Li
|
||||
&model.DeployEnvironment{}, // 发布环境分组 // Logan.Li
|
||||
&model.DeployPipelineMember{}, // 流水线成员 // Logan.Li
|
||||
&model.DeployUserGroup{}, // 用户组 // Logan.Li
|
||||
@@ -172,9 +167,13 @@ func AutoMigrate(db *gorm.DB) error {
|
||||
&model.HealthProbe{}, // 健康探针配置 // Logan.Li
|
||||
&model.ApprovalWorkflow{}, // 审批流程定义 // Logan.Li
|
||||
&model.ApprovalWorkflowStep{}, // 审批流程步骤 // Logan.Li
|
||||
&model.AgentCLISession{}, // Agent CLI 任务会话 // Logan.Li
|
||||
&model.AgentCLIMessage{}, // Agent CLI 推理消息 // Logan.Li
|
||||
&model.CustomDashboard{}, // 自定义监控仪表盘 // Logan.Li
|
||||
&model.AIRun{}, // AI 任务统一运行记录 // Logan.Li
|
||||
&model.AIRunMessage{}, // AI 任务回放消息 // Logan.Li
|
||||
&model.AIRunSpan{}, // AI 工具/LLM/Guardrail Trace Span // Logan.Li
|
||||
&model.AICapability{}, // AI 内置/MCP/技能能力注册 // Logan.Li
|
||||
&model.AICapabilityPolicy{}, // AI 工具能力策略 // Logan.Li
|
||||
&model.OpsSession{}, // 人机统一执行会话 // Logan.Li
|
||||
&model.OpsCommand{}, // 人机统一命令审计 // Logan.Li
|
||||
&model.TraceDataSource{}, // 链路追踪数据源 Jaeger/Tempo // Logan.Li
|
||||
}
|
||||
|
||||
@@ -231,8 +230,10 @@ func applySchemaPatches(db *gorm.DB) {
|
||||
}
|
||||
}
|
||||
}
|
||||
ensureTable(&model.LogScopeRole{}, "monitor_log_scope_roles")
|
||||
ensureTable(&model.UserLogScopeRole{}, "monitor_user_log_scope_roles")
|
||||
ensureTable(&model.LogScopeRole{}, "iam_log_scope_roles")
|
||||
if !m.HasTable("iam_user_log_scope_roles") {
|
||||
createUserLogScopeRolesTable(db)
|
||||
}
|
||||
|
||||
// LDAP 目录类型列(openldap | ad) // Logan.Li
|
||||
if m.HasTable(&model.LDAPConfig{}) && !m.HasColumn(&model.LDAPConfig{}, "server_type") {
|
||||
@@ -252,6 +253,9 @@ func applySchemaPatches(db *gorm.DB) {
|
||||
patchServerColumn("OSType", "os_type")
|
||||
patchServerColumn("Protocol", "protocol")
|
||||
patchServerColumn("RDPPort", "rdp_port")
|
||||
patchServerColumn("Alias", "alias")
|
||||
patchServerColumn("CloudInstanceName", "cloud_instance_name")
|
||||
patchServerColumn("CloudInstanceID", "cloud_instance_id")
|
||||
|
||||
// 将历史仅填 os=windows 的记录补齐协议字段 // Logan.Li
|
||||
if m.HasColumn(&model.Server{}, "os_type") && m.HasColumn(&model.Server{}, "protocol") {
|
||||
@@ -263,3 +267,26 @@ func applySchemaPatches(db *gorm.DB) {
|
||||
`).Error
|
||||
}
|
||||
}
|
||||
|
||||
func createUserLogScopeRolesTable(db *gorm.DB) {
|
||||
sql := `CREATE TABLE IF NOT EXISTS iam_user_log_scope_roles (
|
||||
id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
|
||||
user_id BIGINT UNSIGNED NOT NULL,
|
||||
log_scope_role_id BIGINT UNSIGNED NOT NULL,
|
||||
created_at DATETIME(3) NULL,
|
||||
UNIQUE KEY idx_iam_user_log_scope_role (user_id, log_scope_role_id),
|
||||
KEY idx_iam_user_log_scope_role_role (log_scope_role_id)
|
||||
)`
|
||||
if db.Dialector.Name() == "sqlite" {
|
||||
sql = `CREATE TABLE IF NOT EXISTS iam_user_log_scope_roles (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
user_id INTEGER NOT NULL,
|
||||
log_scope_role_id INTEGER NOT NULL,
|
||||
created_at DATETIME,
|
||||
UNIQUE(user_id, log_scope_role_id)
|
||||
)`
|
||||
}
|
||||
if err := db.Exec(sql).Error; err != nil {
|
||||
log.Printf("[DB] 创建 iam_user_log_scope_roles 失败: %v", err)
|
||||
}
|
||||
}
|
||||
@@ -51,13 +51,13 @@ func CleanupSNMPMetricsSQL(driver string, retentionDays int) string {
|
||||
switch driver {
|
||||
case "sqlite":
|
||||
return fmt.Sprintf(
|
||||
"DELETE FROM ops_snmp_metrics WHERE timestamp < CAST(strftime('%%s', 'now', '-%d days') AS INTEGER)",
|
||||
"DELETE FROM monitor_snmp_samples WHERE timestamp < CAST(strftime('%%s', 'now', '-%d days') AS INTEGER)",
|
||||
retentionDays,
|
||||
)
|
||||
default:
|
||||
return fmt.Sprintf(
|
||||
"DELETE FROM ops_snmp_metrics WHERE timestamp < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL %d DAY))",
|
||||
"DELETE FROM monitor_snmp_samples WHERE timestamp < UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL %d DAY))",
|
||||
retentionDays,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user