-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathschema.sql
130 lines (93 loc) · 3.11 KB
/
schema.sql
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
--
-- PostgreSQL database dump
--
-- Dumped from database version 15.6 (Debian 15.6-0+deb12u1)
-- Dumped by pg_dump version 15.6 (Debian 15.6-0+deb12u1)
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: public; Type: SCHEMA; Schema: -; Owner: -
--
-- *not* creating schema, since initdb creates it
--
-- Name: calculate_default_display_order(); Type: FUNCTION; Schema: public; Owner: -
--
CREATE FUNCTION public.calculate_default_display_order() RETURNS trigger
LANGUAGE plpgsql
AS $$
BEGIN
NEW.display_order := (
SELECT COALESCE(MAX(display_order), 0) + 1
FROM character
WHERE account_id = NEW.account_id
);
RETURN NEW;
END;
$$;
--
-- Name: account_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
CREATE SEQUENCE public.account_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
SET default_tablespace = '';
SET default_table_access_method = heap;
--
-- Name: account; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.account (
id integer DEFAULT nextval('public.account_id_seq'::regclass) NOT NULL,
create_time timestamp with time zone DEFAULT now() NOT NULL
);
--
-- Name: TABLE account; Type: COMMENT; Schema: public; Owner: -
--
COMMENT ON TABLE public.account IS 'An account is a collection of characters that can be monitored by a single session.
A user logs into an account by logging into any EVE character associated with that account via EVE SSO. If a character has never been associated with an account before, a new account is created at that time.';
--
-- Name: character; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public."character" (
character_id bigint NOT NULL,
account_id integer NOT NULL,
access_token text,
refresh_token text,
access_token_expires timestamp with time zone,
name name NOT NULL,
create_time timestamp with time zone DEFAULT now() NOT NULL,
owner_hash text NOT NULL,
display_order integer DEFAULT 1 NOT NULL
);
--
-- Name: account account_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.account
ADD CONSTRAINT account_pkey PRIMARY KEY (id);
--
-- Name: character character_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public."character"
ADD CONSTRAINT character_pkey PRIMARY KEY (character_id);
--
-- Name: character set_default_display_order; Type: TRIGGER; Schema: public; Owner: -
--
CREATE TRIGGER set_default_display_order BEFORE INSERT ON public."character" FOR EACH ROW EXECUTE FUNCTION public.calculate_default_display_order();
--
-- Name: character character_account_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public."character"
ADD CONSTRAINT character_account_id_fkey FOREIGN KEY (account_id) REFERENCES public.account(id);
--
-- PostgreSQL database dump complete
--