package main import ( "bindbox-game/configs" "bindbox-game/internal/repository/mysql" "flag" "fmt" "os" ) func main() { flag.Parse() configs.Init() repo, err := mysql.New() if err != nil { fmt.Printf("DB Error: %v\n", err) os.Exit(1) } db := repo.GetDbW() // 添加 is_granted 字段 sql := "ALTER TABLE livestream_draw_logs ADD COLUMN is_granted TINYINT(1) DEFAULT 0 COMMENT '是否已发放奖品' AFTER created_at" // 检查列是否存在 var count int64 db.Raw("SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'livestream_draw_logs' AND COLUMN_NAME = 'is_granted'").Scan(&count) if count == 0 { if err := db.Exec(sql).Error; err != nil { fmt.Printf("Failed to add column: %v\n", err) os.Exit(1) } fmt.Println("SUCCESS: Added is_granted column") } else { fmt.Println("Column is_granted already exists") } }