-
Notifications
You must be signed in to change notification settings - Fork 921
/
schema.go
44 lines (33 loc) · 1.13 KB
/
schema.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package serverstats
const DBSchema = `
CREATE TABLE IF NOT EXISTS server_stats_periods (
id bigserial NOT NULL PRIMARY KEY,
started timestamptz,
duration bigint,
guild_id bigint,
user_id bigint,
channel_id bigint,
count bigint
);
CREATE INDEX IF NOT EXISTS serverstats_periods_guild_idx on server_stats_periods(guild_id);
CREATE INDEX IF NOT EXISTS started_x on server_stats_periods(started);
CREATE TABLE IF NOT EXISTS server_stats_configs (
guild_id BIGINT PRIMARY KEY,
created_at TIMESTAMP WITH TIME ZONE,
updated_at TIMESTAMP WITH TIME ZONE,
public BOOLEAN,
ignore_channels TEXT
);
CREATE TABLE IF NOT EXISTS server_stats_member_periods (
id BIGSERIAL PRIMARY KEY,
guild_id BIGINT NOT NULL,
created_at TIMESTAMP WITH TIME ZONE NOT NULL,
num_members BIGINT NOT NULL,
joins BIGINT NOT NULL,
leaves BIGINT NOT NULL,
max_online BIGINT NOT NULL,
UNIQUE(guild_id, created_at)
);
CREATE INDEX IF NOT EXISTS server_stats_member_periods_guild_idx on server_stats_member_periods(guild_id);
CREATE INDEX IF NOT EXISTS server_stats_member_periods_created_at_idx on server_stats_member_periods(created_at);
`