mirror of
https://codeberg.org/demostf/db.git
synced 2026-06-03 10:04:10 +02:00
add materialized view for map list
This commit is contained in:
parent
1b4d7a030a
commit
3617fe848b
1 changed files with 193 additions and 208 deletions
315
schema.sql
315
schema.sql
|
|
@ -5,9 +5,9 @@
|
|||
SET statement_timeout = 0;
|
||||
SET lock_timeout = 0;
|
||||
SET client_encoding = 'UTF8';
|
||||
SET standard_conforming_strings = on;
|
||||
SET check_function_bodies = false;
|
||||
SET client_min_messages = warning;
|
||||
SET standard_conforming_strings = ON;
|
||||
SET check_function_bodies = FALSE;
|
||||
SET client_min_messages = WARNING;
|
||||
|
||||
--
|
||||
-- Name: plpgsql; Type: EXTENSION; Schema: -; Owner: -
|
||||
|
|
@ -15,21 +15,18 @@ SET client_min_messages = warning;
|
|||
|
||||
CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
|
||||
|
||||
|
||||
--
|
||||
-- Name: EXTENSION plpgsql; Type: COMMENT; Schema: -; Owner: -
|
||||
--
|
||||
|
||||
COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
|
||||
|
||||
|
||||
--
|
||||
-- Name: pg_trgm; Type: EXTENSION; Schema: -; Owner: -
|
||||
--
|
||||
|
||||
CREATE EXTENSION IF NOT EXISTS pg_trgm WITH SCHEMA public;
|
||||
|
||||
|
||||
--
|
||||
-- Name: EXTENSION pg_trgm; Type: COMMENT; Schema: -; Owner: -
|
||||
--
|
||||
|
|
@ -41,23 +38,28 @@ SET search_path = public, pg_catalog;
|
|||
|
||||
SET default_tablespace = '';
|
||||
|
||||
SET default_with_oids = false;
|
||||
SET default_with_oids = FALSE;
|
||||
|
||||
--
|
||||
-- Name: chat; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
||||
CREATE TABLE chat (
|
||||
id integer NOT NULL,
|
||||
demo_id integer NOT NULL,
|
||||
"from" character varying(255) NOT NULL,
|
||||
text character varying(255) NOT NULL,
|
||||
"time" integer NOT NULL,
|
||||
created_at timestamp without time zone NOT NULL,
|
||||
updated_at timestamp without time zone NOT NULL
|
||||
);
|
||||
CREATE FUNCTION clean_map_name(map TEXT)
|
||||
RETURNS TEXT AS $$
|
||||
SELECT regexp_replace(map, '_(a|b|u|r|v|rc|final)[0-9]*[a-z]?$', '', 'g');
|
||||
$$ LANGUAGE SQL;
|
||||
|
||||
|
||||
CREATE TABLE chat (
|
||||
id INTEGER NOT NULL,
|
||||
demo_id INTEGER NOT NULL,
|
||||
"from" CHARACTER VARYING(255) NOT NULL,
|
||||
text CHARACTER VARYING(255) NOT NULL,
|
||||
"time" INTEGER NOT NULL,
|
||||
created_at TIMESTAMP WITHOUT TIME ZONE NOT NULL,
|
||||
updated_at TIMESTAMP WITHOUT TIME ZONE NOT NULL
|
||||
);
|
||||
|
||||
--
|
||||
-- Name: chat_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
||||
--
|
||||
|
|
@ -69,44 +71,41 @@ CREATE SEQUENCE chat_id_seq
|
|||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
|
||||
|
||||
--
|
||||
-- Name: chat_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER SEQUENCE chat_id_seq OWNED BY chat.id;
|
||||
|
||||
|
||||
--
|
||||
-- Name: demos; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
||||
CREATE TABLE demos (
|
||||
id integer NOT NULL,
|
||||
name character varying(255) NOT NULL,
|
||||
url character varying(255) NOT NULL,
|
||||
map character varying(255) NOT NULL,
|
||||
red character varying(255) NOT NULL,
|
||||
blu character varying(255) NOT NULL,
|
||||
uploader integer NOT NULL,
|
||||
duration integer NOT NULL,
|
||||
created_at timestamp without time zone NOT NULL,
|
||||
updated_at timestamp without time zone NOT NULL,
|
||||
backend character varying(255) NOT NULL,
|
||||
path character varying(255) NOT NULL,
|
||||
"scoreBlue" integer DEFAULT 0 NOT NULL,
|
||||
"scoreRed" integer DEFAULT 0 NOT NULL,
|
||||
version integer DEFAULT 0 NOT NULL,
|
||||
server character varying(255) DEFAULT ''::character varying NOT NULL,
|
||||
nick character varying(255) DEFAULT ''::character varying NOT NULL,
|
||||
deleted_at timestamp without time zone,
|
||||
"playerCount" integer DEFAULT 0 NOT NULL,
|
||||
hash character varying(255) DEFAULT ''::character varying NOT NULL,
|
||||
blue_team_id integer,
|
||||
red_team_id integer
|
||||
id INTEGER NOT NULL,
|
||||
name CHARACTER VARYING(255) NOT NULL,
|
||||
url CHARACTER VARYING(255) NOT NULL,
|
||||
map CHARACTER VARYING(255) NOT NULL,
|
||||
red CHARACTER VARYING(255) NOT NULL,
|
||||
blu CHARACTER VARYING(255) NOT NULL,
|
||||
uploader INTEGER NOT NULL,
|
||||
duration INTEGER NOT NULL,
|
||||
created_at TIMESTAMP WITHOUT TIME ZONE NOT NULL,
|
||||
updated_at TIMESTAMP WITHOUT TIME ZONE NOT NULL,
|
||||
backend CHARACTER VARYING(255) NOT NULL,
|
||||
path CHARACTER VARYING(255) NOT NULL,
|
||||
"scoreBlue" INTEGER DEFAULT 0 NOT NULL,
|
||||
"scoreRed" INTEGER DEFAULT 0 NOT NULL,
|
||||
version INTEGER DEFAULT 0 NOT NULL,
|
||||
server CHARACTER VARYING(255) DEFAULT '' :: CHARACTER VARYING NOT NULL,
|
||||
nick CHARACTER VARYING(255) DEFAULT '' :: CHARACTER VARYING NOT NULL,
|
||||
deleted_at TIMESTAMP WITHOUT TIME ZONE,
|
||||
"playerCount" INTEGER DEFAULT 0 NOT NULL,
|
||||
hash CHARACTER VARYING(255) DEFAULT '' :: CHARACTER VARYING NOT NULL,
|
||||
blue_team_id INTEGER,
|
||||
red_team_id INTEGER
|
||||
);
|
||||
|
||||
|
||||
--
|
||||
-- Name: demos_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
||||
--
|
||||
|
|
@ -118,30 +117,27 @@ CREATE SEQUENCE demos_id_seq
|
|||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
|
||||
|
||||
--
|
||||
-- Name: demos_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER SEQUENCE demos_id_seq OWNED BY demos.id;
|
||||
|
||||
|
||||
--
|
||||
-- Name: kills; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
||||
CREATE TABLE kills (
|
||||
id integer NOT NULL,
|
||||
demo_id integer NOT NULL,
|
||||
attacker_id integer NOT NULL,
|
||||
assister_id integer NOT NULL,
|
||||
victim_id integer NOT NULL,
|
||||
weapon character varying(255) NOT NULL,
|
||||
created_at timestamp without time zone NOT NULL,
|
||||
updated_at timestamp without time zone NOT NULL
|
||||
id INTEGER NOT NULL,
|
||||
demo_id INTEGER NOT NULL,
|
||||
attacker_id INTEGER NOT NULL,
|
||||
assister_id INTEGER NOT NULL,
|
||||
victim_id INTEGER NOT NULL,
|
||||
weapon CHARACTER VARYING(255) NOT NULL,
|
||||
created_at TIMESTAMP WITHOUT TIME ZONE NOT NULL,
|
||||
updated_at TIMESTAMP WITHOUT TIME ZONE NOT NULL
|
||||
);
|
||||
|
||||
|
||||
--
|
||||
-- Name: kills_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
||||
--
|
||||
|
|
@ -153,41 +149,37 @@ CREATE SEQUENCE kills_id_seq
|
|||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
|
||||
|
||||
--
|
||||
-- Name: kills_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER SEQUENCE kills_id_seq OWNED BY kills.id;
|
||||
|
||||
|
||||
--
|
||||
-- Name: migrations; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
||||
CREATE TABLE migrations (
|
||||
migration character varying(255) NOT NULL,
|
||||
batch integer NOT NULL
|
||||
migration CHARACTER VARYING(255) NOT NULL,
|
||||
batch INTEGER NOT NULL
|
||||
);
|
||||
|
||||
|
||||
--
|
||||
-- Name: players; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
||||
CREATE TABLE players (
|
||||
id integer NOT NULL,
|
||||
demo_id integer NOT NULL,
|
||||
demo_user_id integer NOT NULL,
|
||||
user_id integer NOT NULL,
|
||||
name character varying(255) NOT NULL,
|
||||
team character varying(255) NOT NULL,
|
||||
class character varying(255) NOT NULL,
|
||||
created_at timestamp without time zone NOT NULL,
|
||||
updated_at timestamp without time zone NOT NULL
|
||||
id INTEGER NOT NULL,
|
||||
demo_id INTEGER NOT NULL,
|
||||
demo_user_id INTEGER NOT NULL,
|
||||
user_id INTEGER NOT NULL,
|
||||
name CHARACTER VARYING(255) NOT NULL,
|
||||
team CHARACTER VARYING(255) NOT NULL,
|
||||
class CHARACTER VARYING(255) NOT NULL,
|
||||
created_at TIMESTAMP WITHOUT TIME ZONE NOT NULL,
|
||||
updated_at TIMESTAMP WITHOUT TIME ZONE NOT NULL
|
||||
);
|
||||
|
||||
|
||||
--
|
||||
-- Name: players_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
||||
--
|
||||
|
|
@ -199,28 +191,25 @@ CREATE SEQUENCE players_id_seq
|
|||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
|
||||
|
||||
--
|
||||
-- Name: players_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER SEQUENCE players_id_seq OWNED BY players.id;
|
||||
|
||||
|
||||
--
|
||||
-- Name: storage_keys; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
||||
CREATE TABLE storage_keys (
|
||||
id integer NOT NULL,
|
||||
userid integer NOT NULL,
|
||||
type character varying(255) NOT NULL,
|
||||
token character varying(255) NOT NULL,
|
||||
created_at timestamp without time zone NOT NULL,
|
||||
updated_at timestamp without time zone NOT NULL
|
||||
id INTEGER NOT NULL,
|
||||
userid INTEGER NOT NULL,
|
||||
type CHARACTER VARYING(255) NOT NULL,
|
||||
token CHARACTER VARYING(255) NOT NULL,
|
||||
created_at TIMESTAMP WITHOUT TIME ZONE NOT NULL,
|
||||
updated_at TIMESTAMP WITHOUT TIME ZONE NOT NULL
|
||||
);
|
||||
|
||||
|
||||
--
|
||||
-- Name: storage_keys_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
||||
--
|
||||
|
|
@ -232,33 +221,31 @@ CREATE SEQUENCE storage_keys_id_seq
|
|||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
|
||||
|
||||
--
|
||||
-- Name: storage_keys_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER SEQUENCE storage_keys_id_seq OWNED BY storage_keys.id;
|
||||
|
||||
|
||||
--
|
||||
-- Name: teams; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
||||
CREATE TABLE teams (
|
||||
id integer NOT NULL,
|
||||
profile_id integer NOT NULL,
|
||||
name character varying(255) NOT NULL,
|
||||
tag character varying(255) NOT NULL,
|
||||
avatar character varying(255) NOT NULL,
|
||||
steam character varying(255) NOT NULL,
|
||||
league character varying(255) NOT NULL,
|
||||
division character varying(255) NOT NULL,
|
||||
created_at timestamp without time zone NOT NULL,
|
||||
updated_at timestamp without time zone NOT NULL,
|
||||
CONSTRAINT teams_league_check CHECK (((league)::text = ANY ((ARRAY['ugc'::character varying, 'etf2l'::character varying])::text[])))
|
||||
id INTEGER NOT NULL,
|
||||
profile_id INTEGER NOT NULL,
|
||||
name CHARACTER VARYING(255) NOT NULL,
|
||||
tag CHARACTER VARYING(255) NOT NULL,
|
||||
avatar CHARACTER VARYING(255) NOT NULL,
|
||||
steam CHARACTER VARYING(255) NOT NULL,
|
||||
league CHARACTER VARYING(255) NOT NULL,
|
||||
division CHARACTER VARYING(255) NOT NULL,
|
||||
created_at TIMESTAMP WITHOUT TIME ZONE NOT NULL,
|
||||
updated_at TIMESTAMP WITHOUT TIME ZONE NOT NULL,
|
||||
CONSTRAINT teams_league_check CHECK (((league) :: TEXT = ANY
|
||||
((ARRAY ['ugc' :: CHARACTER VARYING, 'etf2l' :: CHARACTER VARYING]) :: TEXT [])))
|
||||
);
|
||||
|
||||
|
||||
--
|
||||
-- Name: teams_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
||||
--
|
||||
|
|
@ -270,26 +257,23 @@ CREATE SEQUENCE teams_id_seq
|
|||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
|
||||
|
||||
--
|
||||
-- Name: teams_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER SEQUENCE teams_id_seq OWNED BY teams.id;
|
||||
|
||||
|
||||
--
|
||||
-- Name: upload_blacklist; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
||||
CREATE TABLE upload_blacklist (
|
||||
id integer NOT NULL,
|
||||
uploader_id integer NOT NULL,
|
||||
reason character varying,
|
||||
block boolean
|
||||
id INTEGER NOT NULL,
|
||||
uploader_id INTEGER NOT NULL,
|
||||
reason CHARACTER VARYING,
|
||||
block BOOLEAN
|
||||
);
|
||||
|
||||
|
||||
--
|
||||
-- Name: upload_blacklist_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
||||
--
|
||||
|
|
@ -301,29 +285,26 @@ CREATE SEQUENCE upload_blacklist_id_seq
|
|||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
|
||||
|
||||
--
|
||||
-- Name: upload_blacklist_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER SEQUENCE upload_blacklist_id_seq OWNED BY upload_blacklist.id;
|
||||
|
||||
|
||||
--
|
||||
-- Name: users; Type: TABLE; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
||||
CREATE TABLE users (
|
||||
id integer NOT NULL,
|
||||
steamid character varying(255) NOT NULL,
|
||||
name character varying(255) NOT NULL,
|
||||
avatar character varying(255) NOT NULL,
|
||||
token character varying(255) NOT NULL,
|
||||
created_at timestamp without time zone DEFAULT now() NOT NULL,
|
||||
updated_at timestamp without time zone DEFAULT now() NOT NULL
|
||||
id INTEGER NOT NULL,
|
||||
steamid CHARACTER VARYING(255) NOT NULL,
|
||||
name CHARACTER VARYING(255) NOT NULL,
|
||||
avatar CHARACTER VARYING(255) NOT NULL,
|
||||
token CHARACTER VARYING(255) NOT NULL,
|
||||
created_at TIMESTAMP WITHOUT TIME ZONE DEFAULT now() NOT NULL,
|
||||
updated_at TIMESTAMP WITHOUT TIME ZONE DEFAULT now() NOT NULL
|
||||
);
|
||||
|
||||
|
||||
--
|
||||
-- Name: users_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
||||
--
|
||||
|
|
@ -335,69 +316,67 @@ CREATE SEQUENCE users_id_seq
|
|||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
|
||||
|
||||
--
|
||||
-- Name: users_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER SEQUENCE users_id_seq OWNED BY users.id;
|
||||
|
||||
--
|
||||
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY chat
|
||||
ALTER COLUMN id SET DEFAULT nextval('chat_id_seq' :: REGCLASS);
|
||||
|
||||
--
|
||||
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY chat ALTER COLUMN id SET DEFAULT nextval('chat_id_seq'::regclass);
|
||||
|
||||
ALTER TABLE ONLY demos
|
||||
ALTER COLUMN id SET DEFAULT nextval('demos_id_seq' :: REGCLASS);
|
||||
|
||||
--
|
||||
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY demos ALTER COLUMN id SET DEFAULT nextval('demos_id_seq'::regclass);
|
||||
|
||||
ALTER TABLE ONLY kills
|
||||
ALTER COLUMN id SET DEFAULT nextval('kills_id_seq' :: REGCLASS);
|
||||
|
||||
--
|
||||
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY kills ALTER COLUMN id SET DEFAULT nextval('kills_id_seq'::regclass);
|
||||
|
||||
ALTER TABLE ONLY players
|
||||
ALTER COLUMN id SET DEFAULT nextval('players_id_seq' :: REGCLASS);
|
||||
|
||||
--
|
||||
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY players ALTER COLUMN id SET DEFAULT nextval('players_id_seq'::regclass);
|
||||
|
||||
ALTER TABLE ONLY storage_keys
|
||||
ALTER COLUMN id SET DEFAULT nextval('storage_keys_id_seq' :: REGCLASS);
|
||||
|
||||
--
|
||||
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY storage_keys ALTER COLUMN id SET DEFAULT nextval('storage_keys_id_seq'::regclass);
|
||||
|
||||
ALTER TABLE ONLY teams
|
||||
ALTER COLUMN id SET DEFAULT nextval('teams_id_seq' :: REGCLASS);
|
||||
|
||||
--
|
||||
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY teams ALTER COLUMN id SET DEFAULT nextval('teams_id_seq'::regclass);
|
||||
|
||||
ALTER TABLE ONLY upload_blacklist
|
||||
ALTER COLUMN id SET DEFAULT nextval('upload_blacklist_id_seq' :: REGCLASS);
|
||||
|
||||
--
|
||||
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY upload_blacklist ALTER COLUMN id SET DEFAULT nextval('upload_blacklist_id_seq'::regclass);
|
||||
|
||||
|
||||
--
|
||||
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY users ALTER COLUMN id SET DEFAULT nextval('users_id_seq'::regclass);
|
||||
|
||||
ALTER TABLE ONLY users
|
||||
ALTER COLUMN id SET DEFAULT nextval('users_id_seq' :: REGCLASS);
|
||||
|
||||
--
|
||||
-- Name: chat_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
||||
|
|
@ -406,7 +385,6 @@ ALTER TABLE ONLY users ALTER COLUMN id SET DEFAULT nextval('users_id_seq'::regcl
|
|||
ALTER TABLE ONLY chat
|
||||
ADD CONSTRAINT chat_pkey PRIMARY KEY (id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: demos_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
|
@ -414,7 +392,6 @@ ALTER TABLE ONLY chat
|
|||
ALTER TABLE ONLY demos
|
||||
ADD CONSTRAINT demos_pkey PRIMARY KEY (id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: kills_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
|
@ -422,7 +399,6 @@ ALTER TABLE ONLY demos
|
|||
ALTER TABLE ONLY kills
|
||||
ADD CONSTRAINT kills_pkey PRIMARY KEY (id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: players_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
|
@ -430,7 +406,6 @@ ALTER TABLE ONLY kills
|
|||
ALTER TABLE ONLY players
|
||||
ADD CONSTRAINT players_pkey PRIMARY KEY (id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: storage_keys_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
|
@ -438,7 +413,6 @@ ALTER TABLE ONLY players
|
|||
ALTER TABLE ONLY storage_keys
|
||||
ADD CONSTRAINT storage_keys_pkey PRIMARY KEY (id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: teams_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
|
@ -446,7 +420,6 @@ ALTER TABLE ONLY storage_keys
|
|||
ALTER TABLE ONLY teams
|
||||
ADD CONSTRAINT teams_pkey PRIMARY KEY (id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: upload_blacklist_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
|
@ -454,7 +427,6 @@ ALTER TABLE ONLY teams
|
|||
ALTER TABLE ONLY upload_blacklist
|
||||
ADD CONSTRAINT upload_blacklist_pkey PRIMARY KEY (id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: users_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
|
@ -462,110 +434,123 @@ ALTER TABLE ONLY upload_blacklist
|
|||
ALTER TABLE ONLY users
|
||||
ADD CONSTRAINT users_pkey PRIMARY KEY (id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: alias_trgm_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
||||
CREATE INDEX alias_trgm_idx ON players USING gin (name gin_trgm_ops);
|
||||
|
||||
CREATE INDEX alias_trgm_idx
|
||||
ON players USING GIN (name gin_trgm_ops);
|
||||
|
||||
--
|
||||
-- Name: demos_blue_team_id_index; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
||||
CREATE INDEX demos_blue_team_id_index ON demos USING btree (blue_team_id);
|
||||
|
||||
CREATE INDEX demos_blue_team_id_index
|
||||
ON demos USING BTREE (blue_team_id);
|
||||
|
||||
--
|
||||
-- Name: demos_hash_index; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
||||
CREATE INDEX demos_hash_index ON demos USING btree (hash);
|
||||
|
||||
CREATE INDEX demos_hash_index
|
||||
ON demos USING BTREE (hash);
|
||||
|
||||
--
|
||||
-- Name: demos_playercount_index; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
||||
CREATE INDEX demos_playercount_index ON demos USING btree ("playerCount");
|
||||
|
||||
CREATE INDEX demos_playercount_index
|
||||
ON demos USING BTREE ("playerCount");
|
||||
|
||||
--
|
||||
-- Name: demos_red_team_id_index; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
||||
CREATE INDEX demos_red_team_id_index ON demos USING btree (red_team_id);
|
||||
|
||||
CREATE INDEX demos_red_team_id_index
|
||||
ON demos USING BTREE (red_team_id);
|
||||
|
||||
--
|
||||
-- Name: demos_uploader_index; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
||||
CREATE INDEX demos_uploader_index ON demos USING btree (uploader);
|
||||
CREATE INDEX demos_uploader_index
|
||||
ON demos USING BTREE (uploader);
|
||||
|
||||
|
||||
CREATE INDEX demos_map_index ON demos USING btree (map);
|
||||
CREATE INDEX demos_map_index
|
||||
ON demos USING BTREE (map);
|
||||
|
||||
CREATE INDEX demos_clean_map_index
|
||||
ON demos USING BTREE (clean_map_name(map));
|
||||
|
||||
--
|
||||
-- Name: kills_demo_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
||||
CREATE INDEX kills_demo_id_idx ON kills USING btree (demo_id);
|
||||
|
||||
CREATE INDEX kills_demo_id_idx
|
||||
ON kills USING BTREE (demo_id);
|
||||
|
||||
--
|
||||
-- Name: players_class_index; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
||||
CREATE INDEX players_class_index ON players USING btree (class);
|
||||
|
||||
CREATE INDEX players_class_index
|
||||
ON players USING BTREE (class);
|
||||
|
||||
--
|
||||
-- Name: players_demo_id_index; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
||||
CREATE INDEX players_demo_id_index ON players USING btree (demo_id);
|
||||
|
||||
CREATE INDEX players_demo_id_index
|
||||
ON players USING BTREE (demo_id);
|
||||
|
||||
--
|
||||
-- Name: players_name_index; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
||||
CREATE INDEX players_name_index ON players USING btree (name);
|
||||
|
||||
CREATE INDEX players_name_index
|
||||
ON players USING BTREE (name);
|
||||
|
||||
--
|
||||
-- Name: players_user_id_index; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
||||
CREATE INDEX players_user_id_index ON players USING btree (user_id);
|
||||
|
||||
CREATE INDEX players_user_id_index
|
||||
ON players USING BTREE (user_id);
|
||||
|
||||
--
|
||||
-- Name: teams_id_index; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
||||
CREATE INDEX teams_id_index ON teams USING btree (id);
|
||||
|
||||
CREATE INDEX teams_id_index
|
||||
ON teams USING BTREE (id);
|
||||
|
||||
--
|
||||
-- Name: teams_profile_id_index; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
||||
CREATE INDEX teams_profile_id_index ON teams USING btree (profile_id);
|
||||
|
||||
CREATE INDEX teams_profile_id_index
|
||||
ON teams USING BTREE (profile_id);
|
||||
|
||||
--
|
||||
-- Name: upload_blacklist_uploader_id_idx; Type: INDEX; Schema: public; Owner: -; Tablespace:
|
||||
--
|
||||
|
||||
CREATE UNIQUE INDEX upload_blacklist_uploader_id_idx ON upload_blacklist USING btree (uploader_id);
|
||||
CREATE UNIQUE INDEX upload_blacklist_uploader_id_idx
|
||||
ON upload_blacklist USING BTREE (uploader_id);
|
||||
|
||||
CREATE UNIQUE INDEX users_steamid_idx ON users USING btree (steamid);
|
||||
CREATE UNIQUE INDEX users_steamid_idx
|
||||
ON users USING BTREE (steamid);
|
||||
|
||||
|
||||
CREATE MATERIALIZED VIEW map_list AS
|
||||
SELECT DISTINCT
|
||||
(clean_map_name(map)) AS map,
|
||||
COUNT(clean_map_name(map)) AS count
|
||||
FROM demos
|
||||
GROUP BY clean_map_name(map)
|
||||
ORDER BY count DESC;
|
||||
|
||||
--
|
||||
-- PostgreSQL database dump complete
|
||||
--
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue