package proto import "gorm.io/gorm" const ( DB_TYPE_MYSQL = 0 // DBTypeMySQL MySQL数据库 DB_TYPE_POSTGRES = 1 // DBTypePostgres PostgreSQL数据库 DB_TYPE_SQLITE = 2 // DBTypeSQLite SQLite数据库 DB_TYPE_SQLSERVER = 3 // DBTypeSQLServer SQL Server数据库 DB_TYPE_ORACLE = 4 // DBTypeOracle Oracle数据库 DB_TYPE_MONGODB = 5 // DBTypeMongoDB MongoDB数据库 DB_TYPE_REDIS = 6 // DBTypeRedis Redis数据库 ) type RunSQLRequest struct { SQL string `json:"sql" form:"sql"` // SQL语句 DB_ID uint `json:"db_id" form:"db_id"` // 数据库ID UserID uint `json:"user_id" form:"user_id"` // 用户ID } type DBManage struct { gorm.Model UserID uint `gorm:"column:user_id"` // 用户ID DB_IP string `gorm:"column:db_ip;type:varchar(255);uniqueIndex:idx_db_ip"` // 数据库IP DB_Port uint `gorm:"column:db_port"` // 数据库端口 DB_NAME string `gorm:"column:db_name;type:varchar(255);uniqueIndex:idx_db_name"` // 数据库名称 DB_User string `gorm:"column:db_user;type:varchar(255);uniqueIndex:idx_db_user"` // 数据库用户名 DB_Password string `gorm:"column:db_password;type:varchar(255);uniqueIndex:idx_db_password"` // 数据库密码 DB_Type uint `gorm:"column:db_type"` // 数据库类型: 0为mysql,1为postgres,2为sqlite,3为sqlserver,4为oracle,5为mongodb,6为redis DB_Desc string `gorm:"column:db_desc;type:varchar(255)"` // 数据库描述 DB_STATUS uint `gorm:"column:db_status"` // 数据库状态: 0为未连接,1为已连接,2为连接失败 } type SQLRunHistory struct { gorm.Model UserID uint `gorm:"column:user_id"` // 用户ID SQL string `gorm:"column:sql;type:text"` // 执行的SQL语句 DB_ID uint `gorm:"column:db_id"` // 数据库ID Status uint `gorm:"column:status"` // 执行状态: 0为成功,1为失败 } type CreateDBManageReq struct { DB_IP string `json:"db_ip" form:"db_ip"` // 数据库IP DB_Port uint `json:"db_port" form:"db_port"` // 数据库端口 DB_NAME string `json:"db_name" form:"db_name"` // 数据库名称 DB_User string `json:"db_user" form:"db_user"` // 数据库用户名 DB_Password string `json:"db_password" form:"db_password"` // 数据库密码 DB_Type uint `json:"db_type" form:"db_type"` // 数据库类型: 0为mysql,1为postgres,2为sqlite,3为sqlserver,4为oracle,5为mongodb,6为redis } type UpdateDBManageReq struct { DB_ID uint `json:"db_id" form:"db_id"` // 数据库ID DB_IP string `json:"db_ip" form:"db_ip"` // 数据库IP DB_Port uint `json:"db_port" form:"db_port"` // 数据库端口 DB_NAME string `json:"db_name" form:"db_name"` // 数据库名称 DB_User string `json:"db_user" form:"db_user"` // 数据库用户名 DB_Password string `json:"db_password" form:"db_password"` // 数据库密码 DB_Type uint `json:"db_type" form:"db_type"` // 数据库类型: 0为mysql,1为postgres,2为sqlite,3为sqlserver,4为oracle,5为mongodb,6为redis } type GetDBManageReq struct { DB_ID uint `json:"db_id" form:"db_id"` // 数据库ID GET_TYPE int `json:"get_type" form:"get_type"` // 获取类型: 0获取自己,1为获取全部(管理员权限) } type GetSQLRunHistoryReq struct { DB_ID uint `json:"db_id" form:"db_id"` // 数据库ID GET_TYPE int `json:"get_type" form:"get_type"` // 获取类型: 0获取自己,1为获取全部(管理员权限) } // SQLResult 包含查询结果的列名顺序和对应数据 type SQLResult struct { Columns []string // 列名顺序(与 SQL 查询的列顺序一致) Rows []map[string]interface{} // 每行数据(map 便于按列名访问) }