Add nick history table.
[xonotic/xonstatdb.git] / build / build_full.sql
1 -- drop tables first in reverse order
2 drop table if exists player_nicks cascade;
3 drop table if exists db_version cascade;
4 drop table if exists hashkeys cascade;
5 drop table if exists player_weapon_stats cascade;
6 drop table if exists achievements cascade;
7 drop table if exists cd_achievement cascade;
8 drop table if exists game_mutators cascade;
9 drop table if exists player_game_stats cascade;
10 drop table if exists games cascade;
11 drop table if exists map_game_types cascade;
12 drop table if exists maps cascade;
13 drop table if exists servers cascade;
14 drop table if exists cd_game_type cascade;
15 drop table if exists cd_weapon cascade;
16 drop table if exists cd_mutator cascade;
17 drop table if exists players cascade;
18
19 -- table definitions
20 \i tables/players.tab
21 \i tables/cd_mutator.tab
22 \i tables/cd_game_type.tab
23 \i tables/cd_weapon.tab
24 \i tables/servers.tab
25 \i tables/maps.tab
26 \i tables/map_game_types.tab
27 \i tables/games.tab
28 \i tables/player_game_stats.tab
29 \i tables/game_mutators.tab
30 \i tables/cd_achievement.tab
31 \i tables/achievements.tab
32 \i tables/player_weapon_stats.tab
33 \i tables/hashkeys.tab
34 \i tables/db_version.tab
35 \i tables/player_nicks.tab
36
37 begin;
38
39 -- game types
40 insert into cd_game_type(game_type_cd, descr)
41 values('arena', 'Arena');
42 insert into cd_game_type(game_type_cd, descr)
43 values('as', 'Assault');
44 insert into cd_game_type(game_type_cd, descr)
45 values('ctf', 'Capture The Flag');
46 insert into cd_game_type(game_type_cd, descr)
47 values('ca', 'Clan Arena');
48 insert into cd_game_type(game_type_cd, descr)
49 values('dm', 'Deathmatch');
50 insert into cd_game_type(game_type_cd, descr)
51 values('dom', 'Domination');
52 insert into cd_game_type(game_type_cd, descr)
53 values('freezetag', 'Freezetag');
54 insert into cd_game_type(game_type_cd, descr)
55 values('ka', 'Keepaway');
56 insert into cd_game_type(game_type_cd, descr)
57 values('kh', 'Keyhunt');
58 insert into cd_game_type(game_type_cd, descr)
59 values('lms', 'Last Man Standing');
60 insert into cd_game_type(game_type_cd, descr)
61 values('nexball', 'Nexball');
62 insert into cd_game_type(game_type_cd, descr)
63 values('ons', 'Onslaught');
64 insert into cd_game_type(game_type_cd, descr)
65 values('rc', 'Race');
66 insert into cd_game_type(game_type_cd, descr)
67 values('cts', 'Complete This Stage');
68 insert into cd_game_type(game_type_cd, descr)
69 values('rune', 'Runematch');
70 insert into cd_game_type(game_type_cd, descr)
71 values('tdm', 'Team Deathmatch');
72
73 -- weapons
74 insert into cd_weapon(weapon_cd, descr) values('laser', 'Laser');
75 insert into cd_weapon(weapon_cd, descr) values('shotgun', 'Shotgun');
76 insert into cd_weapon(weapon_cd, descr) values('uzi', 'Machine Gun');
77 insert into cd_weapon(weapon_cd, descr) values('grenadelauncher', 'Mortar');
78 insert into cd_weapon(weapon_cd, descr) values('electro', 'Electro');
79 insert into cd_weapon(weapon_cd, descr) values('crylink', 'Crylink');
80 insert into cd_weapon(weapon_cd, descr) values('nex', 'Nex');
81 insert into cd_weapon(weapon_cd, descr) values('hagar', 'Hagar');
82 insert into cd_weapon(weapon_cd, descr) values('rocketlauncher', 'Rocket Launcher');
83 insert into cd_weapon(weapon_cd, descr) values('minstanex', 'MinstaNex');
84 insert into cd_weapon(weapon_cd, descr) values('rifle', 'Camping Rifle');
85 insert into cd_weapon(weapon_cd, descr) values('fireball', 'Fireball');
86 insert into cd_weapon(weapon_cd, descr) values('minelayer', 'Minelayer');
87 insert into cd_weapon(weapon_cd, descr) values('seeker', 'T.A.G. Seeker');
88 insert into cd_weapon(weapon_cd, descr) values('tuba', '@!#%''n Tuba');
89 insert into cd_weapon(weapon_cd, descr) values('hlac', 'Heavy Laser Assault Cannon');
90 insert into cd_weapon(weapon_cd, descr) values('hook', 'Grappling Hook');
91 insert into cd_weapon(weapon_cd, descr) values('porto', 'Port-O-Launch');
92
93 -- achievements
94 insert into cd_achievement(achievement_cd, descr, active_ind)
95 values(1, 'Play a game online.', 'Y');
96 insert into cd_achievement(achievement_cd, descr, active_ind)
97 values(2, 'Play each of the game types.', 'Y');
98 insert into cd_achievement(achievement_cd, descr, active_ind)
99 values(3, 'Register online.', 'Y');
100 insert into cd_achievement(achievement_cd, descr, active_ind)
101 values(4, 'Get higher than 50% nex accuracy in a single game.', 'Y');
102 insert into cd_achievement(achievement_cd, descr, active_ind)
103 values(5, 'Play in 50 games.', 'Y');
104 insert into cd_achievement(achievement_cd, descr, active_ind)
105 values(6, 'Play in 100 games.', 'Y');
106 insert into cd_achievement(achievement_cd, descr, active_ind)
107 values(7, 'Play in 250 games.', 'Y');
108 insert into cd_achievement(achievement_cd, descr, active_ind)
109 values(8, 'Play in 500 games.', 'Y');
110 insert into cd_achievement(achievement_cd, descr, active_ind)
111 values(9, 'Play in 1000 games.', 'Y');
112 insert into cd_achievement(achievement_cd, descr, active_ind)
113 values(10,'Get more than 10 carrier kills in a single game.', 'Y');
114 insert into cd_achievement(achievement_cd, descr, active_ind)
115 values(11,'Get more than 5 captures in a single game.', 'Y');
116 insert into cd_achievement(achievement_cd, descr, active_ind)
117 values(12,'Accumulate 10 hours of play.', 'Y');
118 insert into cd_achievement(achievement_cd, descr, active_ind)
119 values(13,'Accumulate 24 hours of play.', 'Y');
120 insert into cd_achievement(achievement_cd, descr, active_ind)
121 values(14,'Accumulate 48 hours of play.', 'Y');
122 insert into cd_achievement(achievement_cd, descr, active_ind)
123 values(15,'Accumulate 1 week of play.', 'Y');
124 insert into cd_achievement(achievement_cd, descr, active_ind)
125 values(16,'Get more than 5 laser kills in a single game.', 'Y');
126 insert into cd_achievement(achievement_cd, descr, active_ind)
127 values(17,'Get more than 10 laser kills in a single game.', 'Y');
128 insert into cd_achievement(achievement_cd, descr, active_ind)
129 values(18,'Get greater than 25% accuracy with the machine gun in a single game.', 'Y');
130 insert into cd_achievement(achievement_cd, descr, active_ind)
131 values(19,'Get more frags than deaths in a single game.', 'Y');
132 insert into cd_achievement(achievement_cd, descr, active_ind)
133 values(20,'Be the highest scorer in a game.', 'Y');
134
135 -- mutators
136 insert into cd_mutator(mutator_cd, name)
137 values(1, 'g_dodging');
138 insert into cd_mutator(mutator_cd, name)
139 values(2, 'g_minstagib');
140 insert into cd_mutator(mutator_cd, name)
141 values(3, 'g_nix');
142 insert into cd_mutator(mutator_cd, name)
143 values(4, 'g_rocket_flying');
144 insert into cd_mutator(mutator_cd, name)
145 values(5, 'g_weaponarena');
146 insert into cd_mutator(mutator_cd, name)
147 values(6, 'g_start_weapon_laser');
148 insert into cd_mutator(mutator_cd, name)
149 values(7, 'sv_gravity');
150 insert into cd_mutator(mutator_cd, name)
151 values(8, 'g_cloaked');
152 insert into cd_mutator(mutator_cd, name)
153 values(9, 'g_grappling_hook');
154 insert into cd_mutator(mutator_cd, name)
155 values(10, 'g_midair');
156 insert into cd_mutator(mutator_cd, name)
157 values(11, 'g_vampire');
158 insert into cd_mutator(mutator_cd, name)
159 values(12, 'g_pinata');
160 insert into cd_mutator(mutator_cd, name)
161 values(13, 'g_weapon_stay');
162 insert into cd_mutator(mutator_cd, name)
163 values(14, 'g_bloodloss');
164 insert into cd_mutator(mutator_cd, name)
165 values(15, 'g_jetpack');
166
167 -- bots and untracked players have special records in player
168 insert into players (nick) values ('Bot');
169 insert into players (nick) values ('Untracked Player');
170
171 -- triggers 
172 \i triggers/games_ins_trg.sql
173 \i triggers/player_game_stats_ins_trg.sql
174 \i triggers/player_weapon_stats_ins_trg.sql
175
176 -- version tracking
177 insert into db_version(version, descr) values('1.0.0', 'Initial build');
178
179 commit;