data

package module
v0.0.0-...-9595877 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 9, 2024 License: MIT Imports: 21 Imported by: 1

README

初期データ生成器

使用方法

make build-for-docker-compose

生成される初期データと配置場所

  • {1..100}.db
    • テナント毎のSQLite DBファイル
    • ../initial_data/../webapp/tenant_db/以下に配置する
  • benchmarker*.json
    • ベンチマーカーが初期データの検証に利用する
    • ../bench/以下に配置する
  • 90_data.sql
    • 初期データのAdmin DB(MySQL)のdumpファイル
    • ../initial_data/../webapp/sql/admin/以下に配置する

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DatabaseDSN string // MySQLのDSN
View Source
var Epoch = time.Date(2022, 05, 01, 0, 0, 0, 0, time.UTC) // サービス開始時点(IDの起点)
View Source
var EpochUnix = Epoch.Unix()
View Source
var GenID = func(ts int64) string {
	return genID(ts)
}
View Source
var GenTenantID = func() int64 {
	return atomic.AddInt64(&tenantID, 1)
}

テナントIDは連番で生成

View Source
var Now = func() time.Time { return defaultNow } // ベンチから使うときは上書きできるようにしておく
View Source
var NowUnix = func() int64 { return Now().Unix() }
View Source
var OutDir = "." // テナントDBの出力先ディレクトリ

Functions

func CreateCompetition

func CreateCompetition(tenant *isuports.TenantRow) *isuports.CompetitionRow

func CreateCompetitions

func CreateCompetitions(tenant *isuports.TenantRow) []*isuports.CompetitionRow

func CreateFixedPlayer

func CreateFixedPlayer(tenant *isuports.TenantRow) *isuports.PlayerRow

func CreatePlayer

func CreatePlayer(tenant *isuports.TenantRow) *isuports.PlayerRow

func CreatePlayers

func CreatePlayers(tenant *isuports.TenantRow) []*isuports.PlayerRow

func CreateScore

func CreateScore() int64

func CreateTenant

func CreateTenant(tag TenantTag) *isuports.TenantRow

func FakeCompetitionName

func FakeCompetitionName() string

func FakeTenantName

func FakeTenantName() string

func RandomString

func RandomString(n int) string

func Run

func Run(tenantsNum int) error

func UniqueRandomString

func UniqueRandomString(n int) string

Types

type BenchmarkerCompeittion

type BenchmarkerCompeittion struct {
	ID      string `json:"id"`
	Billing int64  `json:"billing`
}

type BenchmarkerSource

type BenchmarkerSource struct {
	TenantName     string `json:"tenant_name"`
	CompetitionID  string `json:"competition_id"`
	IsFinished     bool   `json:"is_finished"`
	PlayerID       string `json:"player_id"`
	IsDisqualified bool   `json:"is_disqualified"`
}

type BenchmarkerTenantSource

type BenchmarkerTenantSource struct {
	TenantID     int64                     `json:"tenant_id"`
	TenantName   string                    `json:"tenant_name"`
	Billing      int64                     `json:"billing"`
	Competitions []*BenchmarkerCompeittion `json:"competitions"`
}

type TenantTag

type TenantTag int
const (
	TenantTagGeneral TenantTag = iota
	TenantTagFirst
	TenantTagSecond
)

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL