35 lines
794 B
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()
|
|
}
|