Initial commit: VRBattles API
This commit is contained in:
22
migrations/20260120000001_add_openskill_fields.sql
Normal file
22
migrations/20260120000001_add_openskill_fields.sql
Normal file
@@ -0,0 +1,22 @@
|
||||
-- Add OpenSkill rating fields to teams and users
|
||||
-- OpenSkill uses mu (mean skill) and sigma (uncertainty)
|
||||
-- ordinal = mu - 3*sigma (display rating)
|
||||
|
||||
-- Add OpenSkill fields to teams
|
||||
ALTER TABLE teams ADD COLUMN IF NOT EXISTS mu REAL NOT NULL DEFAULT 25.0;
|
||||
ALTER TABLE teams ADD COLUMN IF NOT EXISTS sigma REAL NOT NULL DEFAULT 8.333;
|
||||
ALTER TABLE teams ADD COLUMN IF NOT EXISTS ordinal REAL NOT NULL DEFAULT 0.0;
|
||||
|
||||
-- Add OpenSkill fields to users (for individual player ratings)
|
||||
ALTER TABLE users ADD COLUMN IF NOT EXISTS mu REAL NOT NULL DEFAULT 25.0;
|
||||
ALTER TABLE users ADD COLUMN IF NOT EXISTS sigma REAL NOT NULL DEFAULT 8.333;
|
||||
ALTER TABLE users ADD COLUMN IF NOT EXISTS ordinal REAL NOT NULL DEFAULT 0.0;
|
||||
ALTER TABLE users ADD COLUMN IF NOT EXISTS mmr REAL NOT NULL DEFAULT 1000.0;
|
||||
|
||||
-- Update existing ordinal values based on default mu/sigma
|
||||
UPDATE teams SET ordinal = mu - (3.0 * sigma) WHERE ordinal = 0.0;
|
||||
UPDATE users SET ordinal = mu - (3.0 * sigma) WHERE ordinal = 0.0;
|
||||
|
||||
-- Create indexes for faster ranking queries
|
||||
CREATE INDEX IF NOT EXISTS idx_teams_ordinal ON teams(ordinal DESC);
|
||||
CREATE INDEX IF NOT EXISTS idx_users_ordinal ON users(ordinal DESC);
|
||||
Reference in New Issue
Block a user