]> git.xonotic.org Git - xonotic/xonstatdb.git/blob - build/build_full.sql
Add a table for non-participants.
[xonotic/xonstatdb.git] / build / build_full.sql
1 -- drop tables first in reverse order
2 drop table if exists player_game_nonparticipants;
3 drop table if exists player_game_frag_matrix;
4 drop table if exists player_agg_stats_mv;
5 drop table if exists merged_servers;
6 drop table if exists player_medals;
7 drop table if exists active_maps_mv;
8 drop table if exists active_servers_mv;
9 drop table if exists active_players_mv;
10 drop table if exists summary_stats_mv;
11 drop table if exists player_groups;
12 drop table if exists player_game_anticheats;
13 drop table if exists team_game_stats;
14 drop table if exists summary_stats cascade;
15 drop table if exists player_map_captimes;
16 drop table if exists player_ladder_ranks;
17 drop table if exists cd_ladder cascade;
18 drop table if exists player_ranks_history cascade;
19 drop table if exists player_ranks cascade;
20 drop table if exists player_elos cascade;
21 drop table if exists player_nicks cascade;
22 drop table if exists db_version cascade;
23 drop table if exists hashkeys cascade;
24 drop table if exists player_weapon_stats cascade;
25 drop table if exists achievements cascade;
26 drop table if exists cd_achievement cascade;
27 --drop table if exists game_mutators cascade;
28 drop table if exists player_game_stats cascade;
29 drop table if exists games cascade;
30 --drop table if exists map_game_types cascade;
31 drop table if exists maps cascade;
32 drop table if exists servers cascade;
33 drop table if exists cd_game_type cascade;
34 drop table if exists cd_weapon cascade;
35 --drop table if exists cd_mutator cascade;
36 drop table if exists players cascade;
37
38 -- table definitions
39 \i tables/players.tab
40 --\i tables/cd_mutator.tab
41 \i tables/cd_game_type.tab
42 \i tables/cd_weapon.tab
43 \i tables/servers.tab
44 \i tables/maps.tab
45 --\i tables/map_game_types.tab
46 \i tables/games.tab
47 \i tables/player_game_stats.tab
48 --\i tables/game_mutators.tab
49 \i tables/cd_achievement.tab
50 \i tables/achievements.tab
51 \i tables/player_weapon_stats.tab
52 \i tables/hashkeys.tab
53 \i tables/db_version.tab
54 \i tables/player_nicks.tab
55 \i tables/player_elos.tab
56 \i tables/player_ranks.tab
57 \i tables/player_ranks_history.tab
58 \i tables/cd_ladder.tab
59 \i tables/player_ladder_ranks.tab
60 \i tables/player_map_captimes.tab
61 \i tables/summary_stats.tab
62 \i tables/team_game_stats.tab
63 \i tables/player_game_anticheats.tab
64 \i tables/player_groups.tab
65 \i tables/summary_stats_mv.tab
66 \i tables/active_players_mv.tab
67 \i tables/active_servers_mv.tab
68 \i tables/active_maps_mv.tab
69 \i tables/player_medals.tab
70 \i tables/merged_servers.tab
71 \i tables/player_agg_stats_mv.tab
72 \i tables/player_game_frag_matrix.tab
73 \i tables/player_game_nonparticipants.tab
74
75 begin;
76
77 -- game types
78 insert into cd_game_type(game_type_cd, descr)
79 values('arena', 'Arena');
80 insert into cd_game_type(game_type_cd, descr)
81 values('as', 'Assault');
82 insert into cd_game_type(game_type_cd, descr)
83 values('ctf', 'Capture The Flag');
84 insert into cd_game_type(game_type_cd, descr)
85 values('ca', 'Clan Arena');
86 insert into cd_game_type(game_type_cd, descr)
87 values('dm', 'Deathmatch');
88 insert into cd_game_type(game_type_cd, descr)
89 values('dom', 'Domination');
90 insert into cd_game_type(game_type_cd, descr)
91 values('ft', 'Freezetag');
92 insert into cd_game_type(game_type_cd, descr)
93 values('ka', 'Keepaway');
94 insert into cd_game_type(game_type_cd, descr)
95 values('kh', 'Keyhunt');
96 insert into cd_game_type(game_type_cd, descr)
97 values('lms', 'Last Man Standing');
98 insert into cd_game_type(game_type_cd, descr)
99 values('nb', 'Nexball');
100 insert into cd_game_type(game_type_cd, descr)
101 values('ons', 'Onslaught');
102 insert into cd_game_type(game_type_cd, descr)
103 values('rc', 'Race');
104 insert into cd_game_type(game_type_cd, descr)
105 values('cts', 'Complete This Stage');
106 insert into cd_game_type(game_type_cd, descr)
107 values('rune', 'Runematch');
108 insert into cd_game_type(game_type_cd, descr)
109 values('tdm', 'Team Deathmatch');
110 insert into cd_game_type(game_type_cd, descr)
111 values('duel', 'Duel');
112
113 -- weapons
114 insert into cd_weapon(weapon_cd, descr) values('laser', 'Laser');
115 insert into cd_weapon(weapon_cd, descr) values('shotgun', 'Shotgun');
116 insert into cd_weapon(weapon_cd, descr) values('uzi', 'Machine Gun');
117 insert into cd_weapon(weapon_cd, descr) values('grenadelauncher', 'Mortar');
118 insert into cd_weapon(weapon_cd, descr) values('electro', 'Electro');
119 insert into cd_weapon(weapon_cd, descr) values('crylink', 'Crylink');
120 insert into cd_weapon(weapon_cd, descr) values('nex', 'Nex');
121 insert into cd_weapon(weapon_cd, descr) values('hagar', 'Hagar');
122 insert into cd_weapon(weapon_cd, descr) values('rocketlauncher', 'Rocket Launcher');
123 insert into cd_weapon(weapon_cd, descr) values('minstanex', 'MinstaNex');
124 insert into cd_weapon(weapon_cd, descr) values('rifle', 'Camping Rifle');
125 insert into cd_weapon(weapon_cd, descr) values('fireball', 'Fireball');
126 insert into cd_weapon(weapon_cd, descr) values('minelayer', 'Minelayer');
127 insert into cd_weapon(weapon_cd, descr) values('seeker', 'T.A.G. Seeker');
128 insert into cd_weapon(weapon_cd, descr) values('tuba', '@!#%''n Tuba');
129 insert into cd_weapon(weapon_cd, descr) values('hlac', 'Heavy Laser Assault Cannon');
130 insert into cd_weapon(weapon_cd, descr) values('hook', 'Grappling Hook');
131 insert into cd_weapon(weapon_cd, descr) values('porto', 'Port-O-Launch');
132 insert into cd_weapon(weapon_cd, descr) values('blaster', 'Blaster');
133 insert into cd_weapon(weapon_cd, descr) values('devastator', 'Devastator');
134 insert into cd_weapon(weapon_cd, descr) values('machinegun', 'Machine Gun');
135 insert into cd_weapon(weapon_cd, descr) values('mortar', 'Mortar');
136 insert into cd_weapon(weapon_cd, descr) values('vaporizer', 'Vaporizer');
137 insert into cd_weapon(weapon_cd, descr) values('vortex', 'Vortex');
138 insert into cd_weapon(weapon_cd, descr) values('arc', 'Arc');
139 insert into cd_weapon(weapon_cd, descr) values('okhmg', 'Overkill Heavy Machine Gun');
140 insert into cd_weapon(weapon_cd, descr) values('oknex', 'Overkill Nex');
141 insert into cd_weapon(weapon_cd, descr) values('okshotgun', 'Overkill Shotgun');
142 insert into cd_weapon(weapon_cd, descr) values('okmachinegun', 'Overkill Machine Gun');
143 insert into cd_weapon(weapon_cd, descr) values('okrpc', 'Overkill Rocket-Propelled Chainsaw');
144
145 -- achievements
146 insert into cd_achievement(achievement_cd, descr, active_ind)
147 values(1, 'Play a game online.', 'Y');
148 insert into cd_achievement(achievement_cd, descr, active_ind)
149 values(2, 'Play each of the game types.', 'Y');
150 insert into cd_achievement(achievement_cd, descr, active_ind)
151 values(3, 'Register online.', 'Y');
152 insert into cd_achievement(achievement_cd, descr, active_ind)
153 values(4, 'Get higher than 50% nex accuracy in a single game.', 'Y');
154 insert into cd_achievement(achievement_cd, descr, active_ind)
155 values(5, 'Play in 50 games.', 'Y');
156 insert into cd_achievement(achievement_cd, descr, active_ind)
157 values(6, 'Play in 100 games.', 'Y');
158 insert into cd_achievement(achievement_cd, descr, active_ind)
159 values(7, 'Play in 250 games.', 'Y');
160 insert into cd_achievement(achievement_cd, descr, active_ind)
161 values(8, 'Play in 500 games.', 'Y');
162 insert into cd_achievement(achievement_cd, descr, active_ind)
163 values(9, 'Play in 1000 games.', 'Y');
164 insert into cd_achievement(achievement_cd, descr, active_ind)
165 values(10,'Get more than 10 carrier kills in a single game.', 'Y');
166 insert into cd_achievement(achievement_cd, descr, active_ind)
167 values(11,'Get more than 5 captures in a single game.', 'Y');
168 insert into cd_achievement(achievement_cd, descr, active_ind)
169 values(12,'Accumulate 10 hours of play.', 'Y');
170 insert into cd_achievement(achievement_cd, descr, active_ind)
171 values(13,'Accumulate 24 hours of play.', 'Y');
172 insert into cd_achievement(achievement_cd, descr, active_ind)
173 values(14,'Accumulate 48 hours of play.', 'Y');
174 insert into cd_achievement(achievement_cd, descr, active_ind)
175 values(15,'Accumulate 1 week of play.', 'Y');
176 insert into cd_achievement(achievement_cd, descr, active_ind)
177 values(16,'Get more than 5 laser kills in a single game.', 'Y');
178 insert into cd_achievement(achievement_cd, descr, active_ind)
179 values(17,'Get more than 10 laser kills in a single game.', 'Y');
180 insert into cd_achievement(achievement_cd, descr, active_ind)
181 values(18,'Get greater than 25% accuracy with the machine gun in a single game.', 'Y');
182 insert into cd_achievement(achievement_cd, descr, active_ind)
183 values(19,'Get more frags than deaths in a single game.', 'Y');
184 insert into cd_achievement(achievement_cd, descr, active_ind)
185 values(20,'Be the highest scorer in a game.', 'Y');
186
187 -- mutators
188 --insert into cd_mutator(mutator_cd, name)
189 --values(1, 'g_dodging');
190 --insert into cd_mutator(mutator_cd, name)
191 --values(2, 'g_minstagib');
192 --insert into cd_mutator(mutator_cd, name)
193 --values(3, 'g_nix');
194 --insert into cd_mutator(mutator_cd, name)
195 --values(4, 'g_rocket_flying');
196 --insert into cd_mutator(mutator_cd, name)
197 --values(5, 'g_weaponarena');
198 --insert into cd_mutator(mutator_cd, name)
199 --values(6, 'g_start_weapon_laser');
200 --insert into cd_mutator(mutator_cd, name)
201 --values(7, 'sv_gravity');
202 --insert into cd_mutator(mutator_cd, name)
203 --values(8, 'g_cloaked');
204 --insert into cd_mutator(mutator_cd, name)
205 --values(9, 'g_grappling_hook');
206 --insert into cd_mutator(mutator_cd, name)
207 --values(10, 'g_midair');
208 --insert into cd_mutator(mutator_cd, name)
209 --values(11, 'g_vampire');
210 --insert into cd_mutator(mutator_cd, name)
211 --values(12, 'g_pinata');
212 --insert into cd_mutator(mutator_cd, name)
213 --values(13, 'g_weapon_stay');
214 --insert into cd_mutator(mutator_cd, name)
215 --values(14, 'g_bloodloss');
216 --insert into cd_mutator(mutator_cd, name)
217 --values(15, 'g_jetpack');
218
219 -- bots and untracked players have special records in player
220 insert into players (nick) values ('Bot');
221 insert into players (nick) values ('Untracked Player');
222
223 -- triggers 
224 \i triggers/games_ins_trg.sql
225 \i triggers/player_game_stats_ins_trg.sql
226 \i triggers/player_weapon_stats_ins_trg.sql
227 \i triggers/team_game_stats_ins_trg.sql
228 \i triggers/player_game_frag_matrix_ins_trg.sql
229 \i triggers/player_game_nonparticipants_ins_trg.sql
230
231 -- version tracking
232 insert into db_version(version, descr) values('1.0.0', 'Initial build');
233
234 commit;