Store a list of player_ids in the games table.
[xonotic/xonstatdb.git] / tables / games.tab
1 CREATE TABLE xonstat.games
2 (
3   game_id bigserial NOT NULL,
4   start_dt timestamp without time zone NOT NULL,
5   game_type_cd character varying(10) NOT NULL,
6   server_id integer NOT NULL,
7   map_id integer NOT NULL,
8   duration interval,
9   winner integer,
10   match_id character varying(64),
11   mod character varying(64),
12   create_dt timestamp without time zone NOT NULL DEFAULT (current_timestamp at time zone 'UTC'),
13   players integer[],
14   CONSTRAINT games_pk PRIMARY KEY (game_id),
15   CONSTRAINT games_fk001 FOREIGN KEY (game_type_cd)
16       REFERENCES xonstat.cd_game_type (game_type_cd) MATCH SIMPLE
17       ON UPDATE NO ACTION ON DELETE NO ACTION,
18   CONSTRAINT games_fk002 FOREIGN KEY (server_id)
19       REFERENCES xonstat.servers (server_id) MATCH SIMPLE
20       ON UPDATE NO ACTION ON DELETE NO ACTION,
21   CONSTRAINT games_fk003 FOREIGN KEY (map_id)
22       REFERENCES xonstat.maps (map_id) MATCH SIMPLE
23       ON UPDATE NO ACTION ON DELETE NO ACTION,
24   CONSTRAINT games_uk001 UNIQUE (server_id, match_id)
25 )
26 WITH (
27   OIDS=FALSE
28 );
29 CREATE INDEX games_ix001 on games(create_dt);
30 ALTER TABLE xonstat.games OWNER TO xonstat;
31
32 CREATE TABLE IF NOT EXISTS xonstat.games_2014q1 ( 
33         CHECK ( create_dt >= DATE '2014-01-01' AND create_dt < DATE '2014-04-01' ) 
34 ) INHERITS (games);
35
36 CREATE TABLE IF NOT EXISTS xonstat.games_2014q2 ( 
37         CHECK ( create_dt >= DATE '2014-04-01' AND create_dt < DATE '2014-07-01' ) 
38 ) INHERITS (games);
39
40 CREATE TABLE IF NOT EXISTS xonstat.games_2014q3 ( 
41         CHECK ( create_dt >= DATE '2014-07-01' AND create_dt < DATE '2014-10-01' ) 
42 ) INHERITS (games);
43
44 CREATE TABLE IF NOT EXISTS xonstat.games_2014q4 ( 
45         CHECK ( create_dt >= DATE '2014-10-01' AND create_dt < DATE '2015-01-01' ) 
46 ) INHERITS (games);
47
48 CREATE TABLE IF NOT EXISTS xonstat.games_2015q1 ( 
49         CHECK ( create_dt >= DATE '2015-01-01' AND create_dt < DATE '2015-04-01' ) 
50 ) INHERITS (games);
51
52 CREATE TABLE IF NOT EXISTS xonstat.games_2015q2 ( 
53         CHECK ( create_dt >= DATE '2015-04-01' AND create_dt < DATE '2015-07-01' ) 
54 ) INHERITS (games);
55
56 CREATE TABLE IF NOT EXISTS xonstat.games_2015q3 ( 
57         CHECK ( create_dt >= DATE '2015-07-01' AND create_dt < DATE '2015-10-01' ) 
58 ) INHERITS (games);
59
60 CREATE TABLE IF NOT EXISTS xonstat.games_2015q4 ( 
61         CHECK ( create_dt >= DATE '2015-10-01' AND create_dt < DATE '2016-01-01' ) 
62 ) INHERITS (games);
63
64 CREATE TABLE IF NOT EXISTS xonstat.games_2016q1 ( 
65         CHECK ( create_dt >= DATE '2016-01-01' AND create_dt < DATE '2016-04-01' ) 
66 ) INHERITS (games);
67
68 CREATE TABLE IF NOT EXISTS xonstat.games_2016q2 ( 
69         CHECK ( create_dt >= DATE '2016-04-01' AND create_dt < DATE '2016-07-01' ) 
70 ) INHERITS (games);
71
72 CREATE TABLE IF NOT EXISTS xonstat.games_2016q3 ( 
73         CHECK ( create_dt >= DATE '2016-07-01' AND create_dt < DATE '2016-10-01' ) 
74 ) INHERITS (games);
75
76 CREATE TABLE IF NOT EXISTS xonstat.games_2016q4 ( 
77         CHECK ( create_dt >= DATE '2016-10-01' AND create_dt < DATE '2017-01-01' ) 
78 ) INHERITS (games);
79
80 CREATE TABLE IF NOT EXISTS xonstat.games_2017q1 ( 
81         CHECK ( create_dt >= DATE '2017-01-01' AND create_dt < DATE '2017-04-01' ) 
82 ) INHERITS (games);
83
84 CREATE TABLE IF NOT EXISTS xonstat.games_2017q2 ( 
85         CHECK ( create_dt >= DATE '2017-04-01' AND create_dt < DATE '2017-07-01' ) 
86 ) INHERITS (games);
87
88 CREATE TABLE IF NOT EXISTS xonstat.games_2017q3 ( 
89         CHECK ( create_dt >= DATE '2017-07-01' AND create_dt < DATE '2017-10-01' ) 
90 ) INHERITS (games);
91
92 CREATE TABLE IF NOT EXISTS xonstat.games_2017q4 ( 
93         CHECK ( create_dt >= DATE '2017-10-01' AND create_dt < DATE '2018-01-01' ) 
94 ) INHERITS (games);
95
96 CREATE TABLE IF NOT EXISTS xonstat.games_2018q1 ( 
97         CHECK ( create_dt >= DATE '2018-01-01' AND create_dt < DATE '2018-04-01' ) 
98 ) INHERITS (games);
99
100 CREATE TABLE IF NOT EXISTS xonstat.games_2018q2 ( 
101         CHECK ( create_dt >= DATE '2018-04-01' AND create_dt < DATE '2018-07-01' ) 
102 ) INHERITS (games);
103
104 CREATE TABLE IF NOT EXISTS xonstat.games_2018q3 ( 
105         CHECK ( create_dt >= DATE '2018-07-01' AND create_dt < DATE '2018-10-01' ) 
106 ) INHERITS (games);
107
108 CREATE TABLE IF NOT EXISTS xonstat.games_2018q4 ( 
109         CHECK ( create_dt >= DATE '2018-10-01' AND create_dt < DATE '2019-01-01' ) 
110 ) INHERITS (games);
111
112 CREATE TABLE IF NOT EXISTS xonstat.games_2019q1 ( 
113         CHECK ( create_dt >= DATE '2019-01-01' AND create_dt < DATE '2019-04-01' ) 
114 ) INHERITS (games);
115
116 CREATE TABLE IF NOT EXISTS xonstat.games_2019q2 ( 
117         CHECK ( create_dt >= DATE '2019-04-01' AND create_dt < DATE '2019-07-01' ) 
118 ) INHERITS (games);
119
120 CREATE TABLE IF NOT EXISTS xonstat.games_2019q3 ( 
121         CHECK ( create_dt >= DATE '2019-07-01' AND create_dt < DATE '2019-10-01' ) 
122 ) INHERITS (games);
123
124 CREATE TABLE IF NOT EXISTS xonstat.games_2019q4 ( 
125         CHECK ( create_dt >= DATE '2019-10-01' AND create_dt < DATE '2020-01-01' ) 
126 ) INHERITS (games);
127
128 CREATE TABLE IF NOT EXISTS xonstat.games_2020q1 ( 
129         CHECK ( create_dt >= DATE '2020-01-01' AND create_dt < DATE '2020-04-01' ) 
130 ) INHERITS (games);
131
132 CREATE TABLE IF NOT EXISTS xonstat.games_2020q2 ( 
133         CHECK ( create_dt >= DATE '2020-04-01' AND create_dt < DATE '2020-07-01' ) 
134 ) INHERITS (games);
135
136 CREATE TABLE IF NOT EXISTS xonstat.games_2020q3 ( 
137         CHECK ( create_dt >= DATE '2020-07-01' AND create_dt < DATE '2020-10-01' ) 
138 ) INHERITS (games);
139
140 CREATE TABLE IF NOT EXISTS xonstat.games_2020q4 ( 
141         CHECK ( create_dt >= DATE '2020-10-01' AND create_dt < DATE '2021-01-01' ) 
142 ) INHERITS (games);
143