topfans/backend/scripts/loadgen/seed/profiles.go

35 lines
794 B
Go

package main
import (
"database/sql"
"fmt"
"time"
)
func SeedProfiles(db *sql.DB) error {
ts := time.Now().UnixMilli()
tx, err := db.Begin()
if err != nil {
return err
}
defer tx.Rollback()
stmt, err := tx.Prepare(`
INSERT INTO fan_profiles (user_id, star_id, nickname, crystal_balance, slot_limit, is_active, created_at, updated_at)
VALUES ($1, $2, $3, 2200, 3, true, $4, $4)
ON CONFLICT (user_id, star_id) DO NOTHING
`)
if err != nil {
return err
}
defer stmt.Close()
for uid := LoadtestUserMin; uid <= LoadtestUserMax; uid++ {
nick := fmt.Sprintf("loadtest_%d", uid-LoadtestUserMin+1)
if _, err := stmt.Exec(uid, LoadtestStarID, nick, ts); err != nil {
return fmt.Errorf("insert profile %d: %w", uid, err)
}
}
return tx.Commit()
}