Revert "Fix: add migration for old environment variable tags"
This reverts commit 79f757052e.
This commit is contained in:
@@ -120,7 +120,6 @@ func customMigrations() error {
|
|||||||
|
|
||||||
migrateTaskTags()
|
migrateTaskTags()
|
||||||
migrateTaskEnvs()
|
migrateTaskEnvs()
|
||||||
migrateEnvTags()
|
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
@@ -284,84 +283,3 @@ func markTaskTagsMigrated() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// migrateEnvTags 迁移旧的变量标签关系
|
|
||||||
func migrateEnvTags() {
|
|
||||||
if DB.Migrator().HasTable(&models.Setting{}) {
|
|
||||||
var setting models.Setting
|
|
||||||
res := DB.Where(&models.Setting{Section: "system", Key: "env_tags_migrated"}).Limit(1).Find(&setting)
|
|
||||||
if res.RowsAffected > 0 && string(setting.Value) == "true" {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if !DB.Migrator().HasColumn(&models.EnvironmentVariable{}, "tags") {
|
|
||||||
markEnvTagsMigrated()
|
|
||||||
return
|
|
||||||
}
|
|
||||||
logger.Infof("[Database] 迁移环境变量标签...")
|
|
||||||
|
|
||||||
type EnvMigration struct {
|
|
||||||
ID string
|
|
||||||
Tags string
|
|
||||||
}
|
|
||||||
var envs []EnvMigration
|
|
||||||
DB.Table((&models.EnvironmentVariable{}).TableName()).Select("id, tags").Where("tags != ?", "").Find(&envs)
|
|
||||||
|
|
||||||
for _, env := range envs {
|
|
||||||
tags := strings.Split(env.Tags, ",")
|
|
||||||
for _, tag := range tags {
|
|
||||||
tag = strings.TrimSpace(tag)
|
|
||||||
if tag == "" {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
var storage models.DataStorage
|
|
||||||
res := DB.Where("type = ? AND name = ?", constant.RelationTypeEnvTag, tag).Limit(1).Find(&storage)
|
|
||||||
if res.RowsAffected == 0 {
|
|
||||||
storage = models.DataStorage{
|
|
||||||
ID: xid.New().String(),
|
|
||||||
Type: constant.RelationTypeEnvTag,
|
|
||||||
Name: tag,
|
|
||||||
CreatedAt: models.Now(),
|
|
||||||
UpdatedAt: models.Now(),
|
|
||||||
}
|
|
||||||
DB.Create(&storage)
|
|
||||||
}
|
|
||||||
var count int64
|
|
||||||
DB.Model(&models.DataRelation{}).Where("data_id = ? AND relate_id = ? AND type = ?", env.ID, storage.ID, constant.RelationTypeEnvTag).Count(&count)
|
|
||||||
if count == 0 {
|
|
||||||
relation := models.DataRelation{
|
|
||||||
ID: xid.New().String(),
|
|
||||||
DataID: env.ID,
|
|
||||||
RelateID: storage.ID,
|
|
||||||
Type: constant.RelationTypeEnvTag,
|
|
||||||
CreatedAt: models.Now(),
|
|
||||||
UpdatedAt: models.Now(),
|
|
||||||
}
|
|
||||||
DB.Create(&relation)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
logger.Infof("[Database] 成功迁移 %d 个变量标签关系", len(envs))
|
|
||||||
markEnvTagsMigrated()
|
|
||||||
}
|
|
||||||
|
|
||||||
func markEnvTagsMigrated() {
|
|
||||||
if !DB.Migrator().HasTable(&models.Setting{}) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
var setting models.Setting
|
|
||||||
res := DB.Where(&models.Setting{Section: "system", Key: "env_tags_migrated"}).Limit(1).Find(&setting)
|
|
||||||
if res.RowsAffected > 0 {
|
|
||||||
DB.Model(&setting).Update("value", models.BigText("true"))
|
|
||||||
} else {
|
|
||||||
DB.Create(&models.Setting{
|
|
||||||
ID: xid.New().String(),
|
|
||||||
Section: "system",
|
|
||||||
Key: "env_tags_migrated",
|
|
||||||
Value: models.BigText("true"),
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user