584 lines
12 KiB
PL/PgSQL
584 lines
12 KiB
PL/PgSQL
-- Downloaded from: https://github.com/heydabop/rustyz/blob/f26ef98d6439f7cc046125ab75ecd2bc7b0ae3b7/schema.sql
|
|
--
|
|
-- PostgreSQL database dump
|
|
--
|
|
|
|
-- Dumped from database version 12.4 (Debian 12.4-3)
|
|
-- Dumped by pg_dump version 12.4 (Debian 12.4-3)
|
|
|
|
SET statement_timeout = 0;
|
|
SET lock_timeout = 0;
|
|
SET idle_in_transaction_session_timeout = 0;
|
|
SET client_encoding = 'UTF8';
|
|
SET standard_conforming_strings = on;
|
|
SELECT pg_catalog.set_config('search_path', '', false);
|
|
SET check_function_bodies = false;
|
|
SET xmloption = content;
|
|
SET client_min_messages = warning;
|
|
SET row_security = off;
|
|
|
|
--
|
|
-- Name: online_status; Type: TYPE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TYPE public.online_status AS ENUM (
|
|
'dnd',
|
|
'idle',
|
|
'invisible',
|
|
'offline',
|
|
'online'
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: shipment_carrier; Type: TYPE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TYPE public.shipment_carrier AS ENUM (
|
|
'fedex',
|
|
'ups',
|
|
'usps'
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: shipment_tracking_status; Type: TYPE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TYPE public.shipment_tracking_status AS ENUM (
|
|
'unknown',
|
|
'pre_transit',
|
|
'transit',
|
|
'delivered',
|
|
'returned',
|
|
'failure'
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: row_update_date(); Type: FUNCTION; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE FUNCTION public.row_update_date() RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
begin
|
|
new.update_date = now();
|
|
return new;
|
|
end;
|
|
$$;
|
|
|
|
|
|
SET default_tablespace = '';
|
|
|
|
SET default_table_access_method = heap;
|
|
|
|
--
|
|
-- Name: bot_start; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.bot_start (
|
|
id integer NOT NULL,
|
|
create_date timestamp with time zone DEFAULT now() NOT NULL,
|
|
update_date timestamp with time zone DEFAULT now() NOT NULL,
|
|
clean_shutdown boolean
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: bot_start_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.bot_start_id_seq
|
|
AS integer
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: bot_start_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE public.bot_start_id_seq OWNED BY public.bot_start.id;
|
|
|
|
|
|
--
|
|
-- Name: command; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.command (
|
|
id integer NOT NULL,
|
|
create_date timestamp with time zone DEFAULT now() NOT NULL,
|
|
author_id bigint NOT NULL,
|
|
channel_id bigint NOT NULL,
|
|
guild_id bigint,
|
|
name character varying(32) NOT NULL,
|
|
options jsonb
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: command_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.command_id_seq
|
|
AS integer
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: command_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE public.command_id_seq OWNED BY public.command.id;
|
|
|
|
|
|
--
|
|
-- Name: message; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.message (
|
|
id bigint NOT NULL,
|
|
create_date timestamp with time zone DEFAULT now() NOT NULL,
|
|
discord_id numeric NOT NULL,
|
|
author_id bigint NOT NULL,
|
|
channel_id bigint NOT NULL,
|
|
guild_id bigint,
|
|
content text,
|
|
update_date timestamp with time zone DEFAULT now() NOT NULL
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: message_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.message_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: message_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE public.message_id_seq OWNED BY public.message.id;
|
|
|
|
|
|
--
|
|
-- Name: playtime_button; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.playtime_button (
|
|
id integer NOT NULL,
|
|
create_date timestamp with time zone DEFAULT now() NOT NULL,
|
|
author_id bigint NOT NULL,
|
|
user_ids bigint[] NOT NULL,
|
|
username character varying(32),
|
|
start_date timestamp with time zone,
|
|
end_date timestamp with time zone NOT NULL,
|
|
start_offset integer NOT NULL
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: playtime_button_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.playtime_button_id_seq
|
|
AS integer
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: playtime_button_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE public.playtime_button_id_seq OWNED BY public.playtime_button.id;
|
|
|
|
|
|
--
|
|
-- Name: shipment; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.shipment (
|
|
id integer NOT NULL,
|
|
create_date timestamp with time zone DEFAULT now() NOT NULL,
|
|
update_date timestamp with time zone DEFAULT now() NOT NULL,
|
|
carrier public.shipment_carrier NOT NULL,
|
|
tracking_number character varying(100) NOT NULL,
|
|
author_id bigint NOT NULL,
|
|
channel_id bigint NOT NULL,
|
|
status public.shipment_tracking_status NOT NULL,
|
|
comment character varying(50)
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: shipment_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.shipment_id_seq
|
|
AS integer
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: shipment_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE public.shipment_id_seq OWNED BY public.shipment.id;
|
|
|
|
|
|
--
|
|
-- Name: user_karma; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.user_karma (
|
|
guild_id bigint NOT NULL,
|
|
user_id bigint NOT NULL,
|
|
karma integer NOT NULL
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: user_presence; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.user_presence (
|
|
id bigint NOT NULL,
|
|
create_date timestamp with time zone DEFAULT now() NOT NULL,
|
|
user_id bigint NOT NULL,
|
|
status public.online_status NOT NULL,
|
|
game_name character varying(512)
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: user_presence_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.user_presence_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: user_presence_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE public.user_presence_id_seq OWNED BY public.user_presence.id;
|
|
|
|
|
|
--
|
|
-- Name: vote; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.vote (
|
|
id integer NOT NULL,
|
|
create_date timestamp with time zone DEFAULT now() NOT NULL,
|
|
guild_id bigint NOT NULL,
|
|
voter_id bigint NOT NULL,
|
|
votee_id bigint NOT NULL,
|
|
is_upvote boolean NOT NULL
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: vote_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.vote_id_seq
|
|
AS integer
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: vote_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE public.vote_id_seq OWNED BY public.vote.id;
|
|
|
|
|
|
--
|
|
-- Name: bot_start id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.bot_start ALTER COLUMN id SET DEFAULT nextval('public.bot_start_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: command id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.command ALTER COLUMN id SET DEFAULT nextval('public.command_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: message id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.message ALTER COLUMN id SET DEFAULT nextval('public.message_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: playtime_button id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.playtime_button ALTER COLUMN id SET DEFAULT nextval('public.playtime_button_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: shipment id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.shipment ALTER COLUMN id SET DEFAULT nextval('public.shipment_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: user_presence id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.user_presence ALTER COLUMN id SET DEFAULT nextval('public.user_presence_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: vote id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.vote ALTER COLUMN id SET DEFAULT nextval('public.vote_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: bot_start bot_start_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.bot_start
|
|
ADD CONSTRAINT bot_start_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: command command_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.command
|
|
ADD CONSTRAINT command_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: message message_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.message
|
|
ADD CONSTRAINT message_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: shipment shipment_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.shipment
|
|
ADD CONSTRAINT shipment_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: shipment shipment_uk_carrier_number; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.shipment
|
|
ADD CONSTRAINT shipment_uk_carrier_number UNIQUE (carrier, tracking_number);
|
|
|
|
|
|
--
|
|
-- Name: user_karma user_karma_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.user_karma
|
|
ADD CONSTRAINT user_karma_pkey PRIMARY KEY (guild_id, user_id);
|
|
|
|
|
|
--
|
|
-- Name: user_presence user_presence_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.user_presence
|
|
ADD CONSTRAINT user_presence_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: vote vote_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.vote
|
|
ADD CONSTRAINT vote_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: user_karma_guild_id_idx; Type: INDEX; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE INDEX user_karma_guild_id_idx ON public.user_karma USING btree (guild_id);
|
|
|
|
|
|
--
|
|
-- Name: vote_voter_id_idx; Type: INDEX; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE INDEX vote_voter_id_idx ON public.vote USING btree (voter_id);
|
|
|
|
|
|
--
|
|
-- Name: bot_start bot_start_row_update_date; Type: TRIGGER; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TRIGGER bot_start_row_update_date BEFORE UPDATE ON public.bot_start FOR EACH ROW EXECUTE FUNCTION public.row_update_date();
|
|
|
|
|
|
--
|
|
-- Name: message message_row_update_date; Type: TRIGGER; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TRIGGER message_row_update_date BEFORE UPDATE ON public.message FOR EACH ROW EXECUTE FUNCTION public.row_update_date();
|
|
|
|
|
|
--
|
|
-- Name: shipment shipment_row_update_date; Type: TRIGGER; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TRIGGER shipment_row_update_date BEFORE UPDATE ON public.shipment FOR EACH ROW EXECUTE FUNCTION public.row_update_date();
|
|
|
|
|
|
--
|
|
-- Name: TABLE bot_start; Type: ACL; Schema: public; Owner: -
|
|
--
|
|
|
|
GRANT SELECT,INSERT,UPDATE ON TABLE public.bot_start TO rustyz;
|
|
|
|
|
|
--
|
|
-- Name: SEQUENCE bot_start_id_seq; Type: ACL; Schema: public; Owner: -
|
|
--
|
|
|
|
GRANT USAGE ON SEQUENCE public.bot_start_id_seq TO rustyz;
|
|
|
|
|
|
--
|
|
-- Name: TABLE command; Type: ACL; Schema: public; Owner: -
|
|
--
|
|
|
|
GRANT SELECT,INSERT ON TABLE public.command TO rustyz;
|
|
|
|
|
|
--
|
|
-- Name: SEQUENCE command_id_seq; Type: ACL; Schema: public; Owner: -
|
|
--
|
|
|
|
GRANT USAGE ON SEQUENCE public.command_id_seq TO rustyz;
|
|
|
|
|
|
--
|
|
-- Name: TABLE message; Type: ACL; Schema: public; Owner: -
|
|
--
|
|
|
|
GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE public.message TO rustyz;
|
|
|
|
|
|
--
|
|
-- Name: SEQUENCE message_id_seq; Type: ACL; Schema: public; Owner: -
|
|
--
|
|
|
|
GRANT USAGE ON SEQUENCE public.message_id_seq TO rustyz;
|
|
|
|
|
|
--
|
|
-- Name: TABLE playtime_button; Type: ACL; Schema: public; Owner: -
|
|
--
|
|
|
|
GRANT SELECT,INSERT,UPDATE ON TABLE public.playtime_button TO rustyz;
|
|
|
|
|
|
--
|
|
-- Name: SEQUENCE playtime_button_id_seq; Type: ACL; Schema: public; Owner: -
|
|
--
|
|
|
|
GRANT USAGE ON SEQUENCE public.playtime_button_id_seq TO rustyz;
|
|
|
|
|
|
--
|
|
-- Name: TABLE shipment; Type: ACL; Schema: public; Owner: -
|
|
--
|
|
|
|
GRANT SELECT,INSERT,UPDATE ON TABLE public.shipment TO rustyz;
|
|
|
|
|
|
--
|
|
-- Name: SEQUENCE shipment_id_seq; Type: ACL; Schema: public; Owner: -
|
|
--
|
|
|
|
GRANT USAGE ON SEQUENCE public.shipment_id_seq TO rustyz;
|
|
|
|
|
|
--
|
|
-- Name: TABLE user_karma; Type: ACL; Schema: public; Owner: -
|
|
--
|
|
|
|
GRANT SELECT,INSERT,UPDATE ON TABLE public.user_karma TO rustyz;
|
|
|
|
|
|
--
|
|
-- Name: TABLE user_presence; Type: ACL; Schema: public; Owner: -
|
|
--
|
|
|
|
GRANT SELECT,INSERT ON TABLE public.user_presence TO rustyz;
|
|
|
|
|
|
--
|
|
-- Name: SEQUENCE user_presence_id_seq; Type: ACL; Schema: public; Owner: -
|
|
--
|
|
|
|
GRANT USAGE ON SEQUENCE public.user_presence_id_seq TO rustyz;
|
|
|
|
|
|
--
|
|
-- Name: TABLE vote; Type: ACL; Schema: public; Owner: -
|
|
--
|
|
|
|
GRANT SELECT,INSERT,UPDATE ON TABLE public.vote TO rustyz;
|
|
|
|
|
|
--
|
|
-- Name: SEQUENCE vote_id_seq; Type: ACL; Schema: public; Owner: -
|
|
--
|
|
|
|
GRANT USAGE ON SEQUENCE public.vote_id_seq TO rustyz;
|
|
|
|
|
|
--
|
|
-- PostgreSQL database dump complete
|
|
--
|