2024-03-12 11:04:08 +08:00
|
|
|
package migrations
|
|
|
|
|
|
|
|
import (
|
|
|
|
"github.com/1Panel-dev/1Panel/backend/app/model"
|
2024-04-08 13:48:07 +08:00
|
|
|
"github.com/1Panel-dev/1Panel/backend/global"
|
2024-03-12 11:04:08 +08:00
|
|
|
"github.com/go-gormigrate/gormigrate/v2"
|
|
|
|
"gorm.io/gorm"
|
|
|
|
)
|
|
|
|
|
|
|
|
var AddSnapshotIgnore = &gormigrate.Migration{
|
|
|
|
ID: "20240311-add-snapshot-ignore",
|
|
|
|
Migrate: func(tx *gorm.DB) error {
|
|
|
|
if err := tx.Create(&model.Setting{Key: "SnapshotIgnore", Value: "*.sock"}).Error; err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
},
|
|
|
|
}
|
2024-03-14 18:22:07 +08:00
|
|
|
|
|
|
|
var AddDatabaseIsDelete = &gormigrate.Migration{
|
|
|
|
ID: "20240314-add-database-is-delete",
|
|
|
|
Migrate: func(tx *gorm.DB) error {
|
|
|
|
if err := tx.AutoMigrate(&model.DatabaseMysql{}, &model.DatabasePostgresql{}); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
},
|
|
|
|
}
|
2024-04-03 14:11:12 +08:00
|
|
|
|
|
|
|
var AddXpackHideMenu = &gormigrate.Migration{
|
|
|
|
ID: "20240328-add-xpack-hide-menu",
|
|
|
|
Migrate: func(tx *gorm.DB) error {
|
2024-04-03 17:27:55 +08:00
|
|
|
if err := tx.Create(&model.Setting{Key: "XpackHideMenu", Value: "{\"id\":\"1\",\"label\":\"/xpack\",\"isCheck\":true,\"title\":\"xpack.menu\",\"children\":[{\"id\":\"2\",\"title\":\"xpack.waf.name\",\"path\":\"/xpack/waf/dashboard\",\"label\":\"Dashboard\",\"isCheck\":true},{\"id\":\"3\",\"title\":\"xpack.tamper.tamper\",\"path\":\"/xpack/tamper\",\"label\":\"Tamper\",\"isCheck\":true},{\"id\":\"4\",\"title\":\"xpack.setting.setting\",\"path\":\"/xpack/setting\",\"label\":\"XSetting\",\"isCheck\":true}]}"}).Error; err != nil {
|
2024-04-03 14:11:12 +08:00
|
|
|
return err
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
},
|
|
|
|
}
|
2024-04-03 16:50:07 +08:00
|
|
|
|
|
|
|
var AddCronjobCommand = &gormigrate.Migration{
|
|
|
|
ID: "20240403-add-cronjob-command",
|
|
|
|
Migrate: func(tx *gorm.DB) error {
|
|
|
|
if err := tx.AutoMigrate(&model.Cronjob{}); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
},
|
2024-04-08 13:48:07 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
var NewMonitorDB = &gormigrate.Migration{
|
|
|
|
ID: "20240408-new-monitor-db",
|
|
|
|
Migrate: func(tx *gorm.DB) error {
|
|
|
|
var (
|
|
|
|
bases []model.MonitorBase
|
|
|
|
ios []model.MonitorIO
|
|
|
|
networks []model.MonitorNetwork
|
|
|
|
)
|
2024-04-10 14:06:08 +08:00
|
|
|
_ = tx.Find(&bases).Error
|
|
|
|
_ = tx.Find(&ios).Error
|
|
|
|
_ = tx.Find(&networks).Error
|
|
|
|
|
2024-04-08 13:48:07 +08:00
|
|
|
if err := global.MonitorDB.AutoMigrate(&model.MonitorBase{}, &model.MonitorIO{}, &model.MonitorNetwork{}); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
_ = global.MonitorDB.Exec("DELETE FROM monitor_bases").Error
|
|
|
|
_ = global.MonitorDB.Exec("DELETE FROM monitor_ios").Error
|
|
|
|
_ = global.MonitorDB.Exec("DELETE FROM monitor_networks").Error
|
|
|
|
|
2024-04-10 14:06:08 +08:00
|
|
|
if len(bases) != 0 {
|
|
|
|
for i := 0; i <= len(bases)/200; i++ {
|
|
|
|
var itemData []model.MonitorBase
|
|
|
|
if 200*(i+1) <= len(bases) {
|
|
|
|
itemData = bases[200*i : 200*(i+1)]
|
|
|
|
} else {
|
|
|
|
itemData = bases[200*i:]
|
|
|
|
}
|
|
|
|
if err := global.MonitorDB.Create(&itemData).Error; err != nil {
|
|
|
|
return err
|
|
|
|
}
|
2024-04-08 13:48:07 +08:00
|
|
|
}
|
|
|
|
}
|
2024-04-10 14:06:08 +08:00
|
|
|
if len(ios) != 0 {
|
|
|
|
for i := 0; i <= len(ios)/200; i++ {
|
|
|
|
var itemData []model.MonitorIO
|
|
|
|
if 200*(i+1) <= len(ios) {
|
|
|
|
itemData = ios[200*i : 200*(i+1)]
|
|
|
|
} else {
|
|
|
|
itemData = ios[200*i:]
|
|
|
|
}
|
|
|
|
if err := global.MonitorDB.Create(&itemData).Error; err != nil {
|
|
|
|
return err
|
|
|
|
}
|
2024-04-08 13:48:07 +08:00
|
|
|
}
|
|
|
|
}
|
2024-04-10 14:06:08 +08:00
|
|
|
if len(networks) != 0 {
|
|
|
|
for i := 0; i <= len(networks)/200; i++ {
|
|
|
|
var itemData []model.MonitorNetwork
|
|
|
|
if 200*(i+1) <= len(networks) {
|
|
|
|
itemData = networks[200*i : 200*(i+1)]
|
|
|
|
} else {
|
|
|
|
itemData = networks[200*i:]
|
|
|
|
}
|
|
|
|
if err := global.MonitorDB.Create(&itemData).Error; err != nil {
|
|
|
|
return err
|
|
|
|
}
|
2024-04-08 13:48:07 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
},
|
|
|
|
}
|
2024-04-09 22:46:09 +08:00
|
|
|
|
|
|
|
var AddNoAuthSetting = &gormigrate.Migration{
|
|
|
|
ID: "20240328-add-no-auth-setting",
|
|
|
|
Migrate: func(tx *gorm.DB) error {
|
|
|
|
if err := tx.Create(&model.Setting{Key: "NoAuthSetting", Value: "200"}).Error; err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
},
|
|
|
|
}
|
2024-04-11 14:16:10 +08:00
|
|
|
|
|
|
|
var UpdateXpackHideMenu = &gormigrate.Migration{
|
|
|
|
ID: "20240411-update-xpack-hide-menu",
|
|
|
|
Migrate: func(tx *gorm.DB) error {
|
|
|
|
if err := tx.Model(&model.Setting{}).Where("key", "XpackHideMenu").Updates(map[string]interface{}{"value": "{\"id\":\"1\",\"label\":\"/xpack\",\"isCheck\":true,\"title\":\"xpack.menu\",\"children\":[{\"id\":\"2\",\"title\":\"xpack.waf.name\",\"path\":\"/xpack/waf/dashboard\",\"label\":\"Dashboard\",\"isCheck\":true},{\"id\":\"3\",\"title\":\"xpack.tamper.tamper\",\"path\":\"/xpack/tamper\",\"label\":\"Tamper\",\"isCheck\":true},{\"id\":\"4\",\"title\":\"xpack.gpu.gpu\",\"path\":\"/xpack/gpu\",\"label\":\"GPU\",\"isCheck\":true},{\"id\":\"5\",\"title\":\"xpack.setting.setting\",\"path\":\"/xpack/setting\",\"label\":\"XSetting\",\"isCheck\":true}]}"}).Error; err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
return nil
|
|
|
|
},
|
|
|
|
}
|