51 lines
1.3 KiB
Go
51 lines
1.3 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"log"
|
|
|
|
"gorm.io/driver/mysql"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
const (
|
|
// Connection string from simulate_test/main.go
|
|
DbDSN = "root:bindbox2025kdy@tcp(150.158.78.154:3306)/dev_game?charset=utf8mb4&parseTime=True&loc=Local"
|
|
)
|
|
|
|
type UserItemCards struct {
|
|
ID int64 `gorm:"column:id"`
|
|
CardID int64 `gorm:"column:card_id"`
|
|
Status int32 `gorm:"column:status"`
|
|
UsedDrawLogID int64 `gorm:"column:used_draw_log_id"`
|
|
UsedDiff int64 `gorm:"-"` // logic placeholder
|
|
}
|
|
|
|
func (UserItemCards) TableName() string { return "user_item_cards" }
|
|
|
|
func main() {
|
|
// 1. Connect DB
|
|
db, err := gorm.Open(mysql.Open(DbDSN), &gorm.Config{})
|
|
if err != nil {
|
|
log.Fatalf("DB connection failed: %v", err)
|
|
}
|
|
|
|
userCardID := 836
|
|
|
|
// 2. Query User Item Card
|
|
var userCard UserItemCards
|
|
err = db.Where("id = ?", userCardID).First(&userCard).Error
|
|
if err != nil {
|
|
log.Fatalf("User Card %d not found: %v", userCardID, err)
|
|
}
|
|
|
|
fmt.Printf("UserCard %d Status: %d\n", userCard.ID, userCard.Status)
|
|
fmt.Printf("UsedDrawLogID: %d\n", userCard.UsedDrawLogID)
|
|
|
|
if userCard.Status == 2 && userCard.UsedDrawLogID == 0 {
|
|
fmt.Println("WARNING: Card is USED (Status 2) but UsedDrawLogID is 0. Potential orphan data.")
|
|
} else if userCard.UsedDrawLogID > 0 {
|
|
fmt.Printf("Card correctly bound to DrawLog ID: %d\n", userCard.UsedDrawLogID)
|
|
}
|
|
}
|