Database Mapping

Country / countries

TableColumnData TypeNullableIndexesPrimary KeyMaps to
countryidint unsignedfalsetruecountries.id
countryiso_keyvarchar(10)falsefalsecountries.iso_key
countrynametextfalsefalsecountries.name

Match 1v1 / sets + set_items

TableColumnData TypeNullableIndexesPrimary KeyCommentMaps to
match_1v1idint unsignedfalsetruesets.id
match_1v1datedatetruefalsewhen this match was played (null=auto from tournament)sets.played_at (conversion to dateTime)
match_1v1tournament_idint unsignedtruefalsesets.tournament_id (foreign)
match_1v1stage_idint unsignedfalsefalsesets.stage_id (foreign)
match_1v1player_1_idint unsignedfalsefalseset_item.entity_id (foreign)
match_1v1player_2_idint unsignedfalsefalseset_item.entity_id (foreign)
match_1v1score_1int unsignedfalsefalseset_item.score
match_1v1score_2int unsignedfalsefalseset_item.score
match_1v1create_userint unsignedfalsecreated_userfalsesets.created_user_id (foreign)
match_1v1create_timedatetimefalsefalsetimestamps()
match_1v1update_userint unsignedfalseupdate_userfalsesets.updated_user_id (foreign)
match_1v1update_timedatetimefalsefalsetimestamps()

Match 1v1 Event / - (removed)

TableColumnData TypeNullableIndexesPrimary KeyMaps to
match_1v1_eventidint unsignedfalsetrue-
match_1v1_eventdatedatetruefalse-
match_1v1_eventtimetimetruefalse-
match_1v1_eventtournament_idint unsignedfalsetournament_id_2false-
match_1v1_eventstage_idint unsignedfalsestage_idfalse-
match_1v1_eventplayer_1_idint unsignedtruetournament_idfalse-
match_1v1_eventplayer_2_idint unsignedtruetournament_idfalse-
match_1v1_eventboint unsignedtruefalse-
match_1v1_eventcreate_userint unsignedfalsecreate_userfalse-
match_1v1_eventcreate_timedatetimefalsefalse-
match_1v1_eventupdate_userint unsignedfalseupdate_userfalse-
match_1v1_eventupdate_timedatetimefalsefalse-

Player / players

TableColumnData TypeNullableIndexesPrimary KeyCommentMaps to
playeridint unsignedfalsetrueplayers.id
playernamevarchar(30)falsenamefalseplayers.name
playeraliasvarchar(255)falsefalsecomma-separatedplayers.aliases (JSON array of alias names: [“alias1”, “alias2”])
playerteam_idint unsignedtrueteam_idfalseplayers.team_id (foreign)
playercountry_keyvarchar(10)truefalseplayers.country_id (foreign, lookup id?)
playerinitial_elo_1v1int unsignedtruefalseplayers.base_elo
playervoobly_idint unsignedtruefalseplayers.voobly_id
playersteam_idvarchar(40)truefalseplayers.steam_id
playersteam_id_failedvarchar(40)truefalseplayers.steam_id_failed
playertwitchtexttruefalsemerge into players.socials (‘{“name”: “twitch”, “value”: “”}’)
playeryoutubetexttruefalsemerge into players.socials (‘{“name”: “youtube”, “value”: “”}’)
playertwittertexttruefalsemerge into players.socials (‘{“name”: “twitter”, “value”: “”}’)
playerfacebooktexttruefalsemerge into players.socials (‘{“name”: “facebook”, “value”: “”}’)
playercreate_userint unsignedfalsecreate_userfalseplayers.created_user_id (foreign)
playercreate_timedatetimefalsefalsetimestamps()
playerupdate_userint unsignedfalseupdate_userfalseplayers.updated_user_id (foreign)
playerupdate_timedatetimefalsefalsetimestamps()

Player Info / players_info (TODO: what is the use case for this?)

TableColumnData TypeNullableIndexesPrimary KeyMaps to
player_infoidint unsignedfalsetrueplayers_info.id
player_infoplayerint unsignedfalseplayerfalseplayers_info.player_id (foreign)
player_infotypevarchar(255)falsefalseplayers_info.type
player_infovalue_intinttruefalseplayers_info.value_int
player_infovalue_strtexttruefalseplayers_info.value_str
player_infocreate_timedatetimefalsefalsetimestamps()
player_infocreate_userint unsignedfalsecreate_userfalseplayers_info.created_user_id (foreign)

Stage / stages

TableColumnData TypeNullableIndexesPrimary KeyMaps to
stageidint unsignedfalsetruestages.id
stagenametextfalsefalsestages.name
stagebracketint unsignedfalsefalsestages.bracket (TODO: could be foreign and own table?)
stageindexint unsignedfalsefalsestages.index
stageweightfloatfalsefalsestages.weight (convert to integer 1 => 10, intval(stage.weight * 10))
stageimportanceint unsignedfalsefalsestages.importance

Team / teams

TableColumnData TypeNullableIndexesPrimary KeyMaps to
teamidint unsignedfalsetrueteams.id
teamnamevarchar(100)falsenamefalseteams.name
teamtagvarchar(30)falsefalseteams.tag
teamprimary_colorvarchar(30)truefalseteams.primary_color
teamsecondary_colorvarchar(30)truefalseteams.secondary_color
teamcreate_userint unsignedtruecreate_userfalseteams.created_user_id (foreign)
teamcreate_timedatetimetruefalsetimestamps()
teamupdate_userint unsignedtrueupdate_userfalseteams.updated_user_id (foreign)
teamupdate_timedatetimetruefalsetimestamps()

Tournament / tournaments

TableColumnData TypeNullableIndexesPrimary KeyCommentMaps to
tournamentidint unsignedfalsetruetournaments.id
tournamentnamevarchar(255)falsenamefalsetournaments.name
tournamentshortvarchar(100)falsefalsetournaments.short_name
tournamentstartdatetruefalsetournaments.started_at (conversion to dateTime)
tournamentenddatetruefalsetournaments.ended_at (conversion to dateTime)
tournamentweightint unsignedfalsefalsetournaments.weight
tournamenttypeenum(‘cup’,‘qualifier’)falsefalsetournaments.type
tournamentprizemoneyint unsignedtruefalsein $tournaments.prize_money
tournamentparent_idint unsignedtrueparent_idfalsetournaments.parent_tournament_id (foreign)
tournamentstructureenum(‘single-elemination’,‘double-elimination’,‘league’,‘other’,‘group’,‘group-ko’)falsefalsetournaments.structure
tournamentevaluationvarchar(30)truefalsetournaments.evaluation
tournamentwebsitetexttruefalsetournaments.website
tournamentcommenttexttruefalsetournaments.comments
tournamentcreate_userint unsignedfalsecreate_userfalsetournaments.created_user_id (foreign)
tournamentcreate_timedatetimefalsefalsetimestamps()
tournamentupdate_userint unsignedfalseupdate_userfalsetournaments.updated_user_id (foreign)
tournamentupdate_timedatetimefalsefalsetimestamps()

Tournament Info / tournaments_info

TableColumnData TypeNullableIndexesPrimary KeyCommentMaps to
tournament_infoidint unsignedfalsetruetournaments_info.id
tournament_infocreate_userint unsignedfalsecreate_userfalsetournaments_info.created_user_id (foreign)
tournament_infocreate_timedatetimefalsefalsetimestamps()
tournament_infotournament_idint unsignedfalsetournament_idfalsetournaments_info.tournament_id (foreign)
tournament_infotypeint unsignedfalsetypefalse1: challonge bracket, 2: bracket URL, 3: public res., 4: private res.tournaments_info.type (enum)
tournament_infodescriptiontextfalsefalsetournaments_info.description
tournament_infovaluetextfalsefalsetournaments_info.value

Tournament Result / tournaments_results

TableColumnData TypeNullableIndexesPrimary KeyCommentMaps to
tournament_resultidint unsignedfalsetruetournaments_results.id
tournament_resulttournamentint unsignedfalsetournamentfalsetournaments_results.tournament_id (foreign)
tournament_resultplayerint unsignedfalseplayerfalsetournaments_results.player_id (foreign)
tournament_resulttypeint unsignedtruetypefalse1: win, …, 5: semi-finals, null: othertournaments_results.type
tournament_resultmoneyint unsignedtruefalsetournaments_results.money
tournament_resultsourcetexttruefalsetournaments_results.source
tournament_resultcreate_timedatetimefalsefalsetimestamps()
tournament_resultcreate_userint unsignedfalsecreate_userfalsetournaments_results.created_user_id (foreign)

User / users .. permissions

TableColumnData TypeNullableIndexesPrimary KeyCommentMaps to
useridint unsignedfalsetrueusers.id
usernamevarchar(100)falsenamefalseusers.name
userpassvarchar(255)falsefalseremoved due to social logins
userrankint unsignedfalsefalse1: admin, 2: normalmigrate to permission system
userallow_tournamentint unsignedtruefalse0: nothing, 1: create, 2: and update, 3: and removemigrate to permission system
userallow_playerint unsignedtruefalsemigrate to permission system
userallow_matchinttruefalsemigrate to permission system
userallow_seeint unsignedtruefalse0: nothing, 1: statsmigrate to permission system