mirror of
https://github.com/tnb-labs/panel.git
synced 2026-08-30 17:05:19 +08:00
9c977c154b
- 数据库迁移新增 ClickHouse 支持(结构 + SQLInsert 数据导出,远程 multiquery 导入) - 数据库用户先于数据库迁移,修复导入时属主角色不存在 - pg_dump 加 --clean --if-exists,mysqldump 加 --routines --events - 修复远程解压失败、SSE 流中断被静默当作成功的问题 - 临时文件改到面板目录 tmp 下,避免撑爆 /tmp 内存盘 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
56 lines
2.0 KiB
Go
56 lines
2.0 KiB
Go
package request
|
|
|
|
// ToolboxMigrationConnection 迁移连接信息
|
|
type ToolboxMigrationConnection struct {
|
|
URL string `json:"url" validate:"required"`
|
|
TokenID uint `json:"token_id" validate:"required"`
|
|
Token string `json:"token" validate:"required"`
|
|
}
|
|
|
|
// ToolboxMigrationItems 迁移选择项
|
|
type ToolboxMigrationItems struct {
|
|
Websites []ToolboxMigrationWebsite `json:"websites"`
|
|
Databases []ToolboxMigrationDatabase `json:"databases"`
|
|
DatabaseUsers []ToolboxMigrationDatabaseUser `json:"database_users"`
|
|
Projects []ToolboxMigrationProject `json:"projects"`
|
|
StopOnMig bool `json:"stop_on_mig"` // 迁移中是否停止服务
|
|
}
|
|
|
|
// ToolboxMigrationWebsite 迁移网站项
|
|
type ToolboxMigrationWebsite struct {
|
|
ID uint `json:"id"`
|
|
Name string `json:"name"`
|
|
Path string `json:"path"` // 网站目录
|
|
}
|
|
|
|
// ToolboxMigrationDatabase 迁移数据库项
|
|
type ToolboxMigrationDatabase struct {
|
|
Type string `json:"type" validate:"in:mysql,postgresql,clickhouse"` // mysql / postgresql / clickhouse
|
|
Name string `json:"name"`
|
|
ServerID uint `json:"server_id"`
|
|
Server string `json:"server"` // 服务器名称
|
|
}
|
|
|
|
// ToolboxMigrationDatabaseUser 迁移数据库用户项
|
|
type ToolboxMigrationDatabaseUser struct {
|
|
ID uint `json:"id"`
|
|
Username string `json:"username"`
|
|
Password string `json:"password"`
|
|
Host string `json:"host"` // 仅 mysql
|
|
ServerID uint `json:"server_id"`
|
|
Server string `json:"server"` // 服务器名称
|
|
Type string `json:"type" validate:"in:mysql,postgresql,clickhouse"` // mysql / postgresql / clickhouse
|
|
}
|
|
|
|
// ToolboxMigrationProject 迁移项目项
|
|
type ToolboxMigrationProject struct {
|
|
ID uint `json:"id"`
|
|
Name string `json:"name"`
|
|
Path string `json:"path"` // 项目目录
|
|
}
|
|
|
|
// ToolboxMigrationExec 远程执行命令请求
|
|
type ToolboxMigrationExec struct {
|
|
Command string `json:"command" validate:"required"`
|
|
}
|