Files
verify/backend/scripts/migrate_docs_i18n.go
admin ea8ffb6c74 fix: 订阅模式登录验证、永久会员类型区分、动态代码HTTP返回值修复、侧边栏滚动位置保持
- 修复订阅模式登录时错误检查余额的问题
- 区分无限余额和永久订阅两种永久会员类型
- 修复动态代码HTTP请求返回值在JS中无法正确访问的问题
- 添加侧边栏滚动位置保持功能
- 移除developer角色相关代码,统一使用admin
- 添加缺失的i18n翻译key
2026-05-01 16:39:31 +08:00

57 lines
1.3 KiB
Go

package main
import (
"fmt"
"log"
"verification-platform-backend/internal/database"
"verification-platform-backend/internal/model"
)
func main() {
database.Init()
db := database.DB
var categories []model.DocCategory
if err := db.Find(&categories).Error; err != nil {
log.Fatal("获取分类失败:", err)
}
for _, cat := range categories {
if cat.NameEn == "" && cat.Name != "" {
cat.NameEn = cat.Name
}
if cat.DescriptionEn == "" && cat.Description != "" {
cat.DescriptionEn = cat.Description
}
if err := db.Save(&cat).Error; err != nil {
log.Printf("更新分类 %d 失败: %v", cat.ID, err)
} else {
fmt.Printf("已更新分类: %s\n", cat.Name)
}
}
var docs []model.Doc
if err := db.Find(&docs).Error; err != nil {
log.Fatal("获取文档失败:", err)
}
for _, doc := range docs {
if doc.TitleEn == "" && doc.Title != "" {
doc.TitleEn = doc.Title
}
if doc.ContentEn == "" && doc.Content != "" {
doc.ContentEn = doc.Content
}
if err := db.Save(&doc).Error; err != nil {
log.Printf("更新文档 %d 失败: %v", doc.ID, err)
} else {
fmt.Printf("已更新文档: %s\n", doc.Title)
}
}
fmt.Println("\n迁移完成!")
fmt.Printf("更新了 %d 个分类\n", len(categories))
fmt.Printf("更新了 %d 个文档\n", len(docs))
}