package main import ( "fmt" "log" "gorm.io/driver/mysql" "gorm.io/gorm" ) const ( DbDSN = "root:bindbox2025kdy@tcp(150.158.78.154:3306)/dev_game?charset=utf8mb4&parseTime=True&loc=Local" ) func main() { db, err := gorm.Open(mysql.Open(DbDSN), &gorm.Config{}) if err != nil { log.Fatalf("DB connection failed: %v", err) } fmt.Println("--- User 9090 Full Coupon Dump (Cloud DB) ---") var userCoupons []map[string]interface{} db.Raw("SELECT * FROM user_coupons WHERE user_id = 9090").Scan(&userCoupons) for _, uc := range userCoupons { fmt.Printf("\nCoupon Record: %+v\n", uc) id := uc["id"] // Get associated orders for this coupon var orders []map[string]interface{} db.Raw("SELECT order_id, applied_amount, created_at FROM order_coupons WHERE user_coupon_id = ?", id).Scan(&orders) fmt.Printf(" Orders associated: %+v\n", orders) // Get ledger entries var ledger []map[string]interface{} db.Raw("SELECT action, change_amount, balance_after, created_at FROM user_coupon_ledger WHERE user_coupon_id = ?", id).Scan(&ledger) fmt.Printf(" Ledger entries: %+v\n", ledger) } }