Files
dolthub--doltgresql/testing/dumps/sql/kjanus03_tsn.sql
T
2026-07-13 12:32:25 +08:00

753 lines
18 KiB
SQL

-- Downloaded from: https://github.com/kjanus03/tsn/blob/4b71c1446d26e4a0dc10707297d52554ab66dfc4/tsn_db_architecture.sql
--
-- PostgreSQL database dump
--
-- Dumped from database version 17.5
-- Dumped by pg_dump version 17.5
-- Started on 2025-06-03 16:37:21
SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET transaction_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;
--
-- TOC entry 886 (class 1247 OID 16516)
-- Name: genderenum; Type: TYPE; Schema: public; Owner: postgres
--
CREATE TYPE public.genderenum AS ENUM (
'MALE',
'FEMALE',
'OTHER',
'PREFER_NOT_TO_SAY'
);
ALTER TYPE public.genderenum OWNER TO postgres;
--
-- TOC entry 868 (class 1247 OID 16414)
-- Name: visibilityenum; Type: TYPE; Schema: public; Owner: postgres
--
CREATE TYPE public.visibilityenum AS ENUM (
'PUBLIC',
'FRIENDS',
'PRIVATE'
);
ALTER TYPE public.visibilityenum OWNER TO postgres;
SET default_tablespace = '';
SET default_table_access_method = heap;
--
-- TOC entry 217 (class 1259 OID 16394)
-- Name: alembic_version; Type: TABLE; Schema: public; Owner: postgres
--
CREATE TABLE public.alembic_version (
version_num character varying(32) NOT NULL
);
ALTER TABLE public.alembic_version OWNER TO postgres;
--
-- TOC entry 229 (class 1259 OID 16546)
-- Name: comment; Type: TABLE; Schema: public; Owner: postgres
--
CREATE TABLE public.comment (
id integer NOT NULL,
user_id integer NOT NULL,
post_id integer,
content text NOT NULL,
"timestamp" timestamp without time zone NOT NULL,
share_id integer
);
ALTER TABLE public.comment OWNER TO postgres;
--
-- TOC entry 228 (class 1259 OID 16545)
-- Name: comment_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
--
CREATE SEQUENCE public.comment_id_seq
AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER SEQUENCE public.comment_id_seq OWNER TO postgres;
--
-- TOC entry 4998 (class 0 OID 0)
-- Dependencies: 228
-- Name: comment_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres
--
ALTER SEQUENCE public.comment_id_seq OWNED BY public.comment.id;
--
-- TOC entry 222 (class 1259 OID 16435)
-- Name: friendships; Type: TABLE; Schema: public; Owner: postgres
--
CREATE TABLE public.friendships (
user_id integer NOT NULL,
friend_id integer NOT NULL
);
ALTER TABLE public.friendships OWNER TO postgres;
--
-- TOC entry 224 (class 1259 OID 16451)
-- Name: like; Type: TABLE; Schema: public; Owner: postgres
--
CREATE TABLE public."like" (
id integer NOT NULL,
user_id integer NOT NULL,
post_id integer,
comment_id integer,
share_id integer,
"timestamp" timestamp without time zone
);
ALTER TABLE public."like" OWNER TO postgres;
--
-- TOC entry 223 (class 1259 OID 16450)
-- Name: like_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
--
CREATE SEQUENCE public.like_id_seq
AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER SEQUENCE public.like_id_seq OWNER TO postgres;
--
-- TOC entry 4999 (class 0 OID 0)
-- Dependencies: 223
-- Name: like_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres
--
ALTER SEQUENCE public.like_id_seq OWNED BY public."like".id;
--
-- TOC entry 233 (class 1259 OID 16611)
-- Name: message; Type: TABLE; Schema: public; Owner: postgres
--
CREATE TABLE public.message (
id integer NOT NULL,
sender_id integer NOT NULL,
recipient_id integer NOT NULL,
content text NOT NULL,
"timestamp" timestamp without time zone NOT NULL,
is_read boolean NOT NULL
);
ALTER TABLE public.message OWNER TO postgres;
--
-- TOC entry 232 (class 1259 OID 16610)
-- Name: message_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
--
CREATE SEQUENCE public.message_id_seq
AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER SEQUENCE public.message_id_seq OWNER TO postgres;
--
-- TOC entry 5000 (class 0 OID 0)
-- Dependencies: 232
-- Name: message_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres
--
ALTER SEQUENCE public.message_id_seq OWNED BY public.message.id;
--
-- TOC entry 221 (class 1259 OID 16422)
-- Name: post; Type: TABLE; Schema: public; Owner: postgres
--
CREATE TABLE public.post (
id integer NOT NULL,
user_id integer NOT NULL,
content text NOT NULL,
visibility public.visibilityenum NOT NULL,
"timestamp" timestamp without time zone NOT NULL,
media character varying(255)
);
ALTER TABLE public.post OWNER TO postgres;
--
-- TOC entry 220 (class 1259 OID 16421)
-- Name: post_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
--
CREATE SEQUENCE public.post_id_seq
AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER SEQUENCE public.post_id_seq OWNER TO postgres;
--
-- TOC entry 5001 (class 0 OID 0)
-- Dependencies: 220
-- Name: post_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres
--
ALTER SEQUENCE public.post_id_seq OWNED BY public.post.id;
--
-- TOC entry 226 (class 1259 OID 16470)
-- Name: role; Type: TABLE; Schema: public; Owner: postgres
--
CREATE TABLE public.role (
id integer NOT NULL,
name character varying(80),
description character varying(255)
);
ALTER TABLE public.role OWNER TO postgres;
--
-- TOC entry 225 (class 1259 OID 16469)
-- Name: role_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
--
CREATE SEQUENCE public.role_id_seq
AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER SEQUENCE public.role_id_seq OWNER TO postgres;
--
-- TOC entry 5002 (class 0 OID 0)
-- Dependencies: 225
-- Name: role_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres
--
ALTER SEQUENCE public.role_id_seq OWNED BY public.role.id;
--
-- TOC entry 227 (class 1259 OID 16478)
-- Name: roles_users; Type: TABLE; Schema: public; Owner: postgres
--
CREATE TABLE public.roles_users (
user_id integer,
role_id integer
);
ALTER TABLE public.roles_users OWNER TO postgres;
--
-- TOC entry 231 (class 1259 OID 16565)
-- Name: share; Type: TABLE; Schema: public; Owner: postgres
--
CREATE TABLE public.share (
id integer NOT NULL,
user_id integer NOT NULL,
post_id integer NOT NULL,
content text,
"timestamp" timestamp without time zone NOT NULL
);
ALTER TABLE public.share OWNER TO postgres;
--
-- TOC entry 230 (class 1259 OID 16564)
-- Name: share_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
--
CREATE SEQUENCE public.share_id_seq
AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER SEQUENCE public.share_id_seq OWNER TO postgres;
--
-- TOC entry 5003 (class 0 OID 0)
-- Dependencies: 230
-- Name: share_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres
--
ALTER SEQUENCE public.share_id_seq OWNED BY public.share.id;
--
-- TOC entry 219 (class 1259 OID 16400)
-- Name: user; Type: TABLE; Schema: public; Owner: postgres
--
CREATE TABLE public."user" (
id integer NOT NULL,
is_active boolean DEFAULT true NOT NULL,
username character varying(64) NOT NULL,
email character varying(255) NOT NULL,
password character varying(255) NOT NULL,
phone character varying(64) NOT NULL,
date_birth date NOT NULL,
gender public.genderenum NOT NULL,
fs_uniquifier character varying(255) NOT NULL,
confirmed_at timestamp without time zone,
profile_pic character varying(255) NOT NULL,
first_name character varying(64) NOT NULL,
last_name character varying(64) NOT NULL,
biography text,
location character varying(100),
date_joined date NOT NULL
);
ALTER TABLE public."user" OWNER TO postgres;
--
-- TOC entry 218 (class 1259 OID 16399)
-- Name: user_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres
--
CREATE SEQUENCE public.user_id_seq
AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER SEQUENCE public.user_id_seq OWNER TO postgres;
--
-- TOC entry 5004 (class 0 OID 0)
-- Dependencies: 218
-- Name: user_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres
--
ALTER SEQUENCE public.user_id_seq OWNED BY public."user".id;
--
-- TOC entry 4795 (class 2604 OID 16549)
-- Name: comment id; Type: DEFAULT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.comment ALTER COLUMN id SET DEFAULT nextval('public.comment_id_seq'::regclass);
--
-- TOC entry 4793 (class 2604 OID 16454)
-- Name: like id; Type: DEFAULT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public."like" ALTER COLUMN id SET DEFAULT nextval('public.like_id_seq'::regclass);
--
-- TOC entry 4797 (class 2604 OID 16614)
-- Name: message id; Type: DEFAULT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.message ALTER COLUMN id SET DEFAULT nextval('public.message_id_seq'::regclass);
--
-- TOC entry 4792 (class 2604 OID 16425)
-- Name: post id; Type: DEFAULT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.post ALTER COLUMN id SET DEFAULT nextval('public.post_id_seq'::regclass);
--
-- TOC entry 4794 (class 2604 OID 16473)
-- Name: role id; Type: DEFAULT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.role ALTER COLUMN id SET DEFAULT nextval('public.role_id_seq'::regclass);
--
-- TOC entry 4796 (class 2604 OID 16568)
-- Name: share id; Type: DEFAULT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.share ALTER COLUMN id SET DEFAULT nextval('public.share_id_seq'::regclass);
--
-- TOC entry 4790 (class 2604 OID 16403)
-- Name: user id; Type: DEFAULT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public."user" ALTER COLUMN id SET DEFAULT nextval('public.user_id_seq'::regclass);
--
-- TOC entry 4799 (class 2606 OID 16398)
-- Name: alembic_version alembic_version_pkc; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.alembic_version
ADD CONSTRAINT alembic_version_pkc PRIMARY KEY (version_num);
--
-- TOC entry 4827 (class 2606 OID 16553)
-- Name: comment comment_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.comment
ADD CONSTRAINT comment_pkey PRIMARY KEY (id);
--
-- TOC entry 4813 (class 2606 OID 16439)
-- Name: friendships friendships_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.friendships
ADD CONSTRAINT friendships_pkey PRIMARY KEY (user_id, friend_id);
--
-- TOC entry 4815 (class 2606 OID 16456)
-- Name: like like_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public."like"
ADD CONSTRAINT like_pkey PRIMARY KEY (id);
--
-- TOC entry 4831 (class 2606 OID 16618)
-- Name: message message_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.message
ADD CONSTRAINT message_pkey PRIMARY KEY (id);
--
-- TOC entry 4811 (class 2606 OID 16429)
-- Name: post post_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.post
ADD CONSTRAINT post_pkey PRIMARY KEY (id);
--
-- TOC entry 4823 (class 2606 OID 16477)
-- Name: role role_name_key; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.role
ADD CONSTRAINT role_name_key UNIQUE (name);
--
-- TOC entry 4825 (class 2606 OID 16475)
-- Name: role role_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.role
ADD CONSTRAINT role_pkey PRIMARY KEY (id);
--
-- TOC entry 4829 (class 2606 OID 16572)
-- Name: share share_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.share
ADD CONSTRAINT share_pkey PRIMARY KEY (id);
--
-- TOC entry 4817 (class 2606 OID 16584)
-- Name: like uq_user_comment_like; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public."like"
ADD CONSTRAINT uq_user_comment_like UNIQUE (user_id, comment_id);
--
-- TOC entry 4819 (class 2606 OID 16586)
-- Name: like uq_user_post_like; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public."like"
ADD CONSTRAINT uq_user_post_like UNIQUE (user_id, post_id);
--
-- TOC entry 4821 (class 2606 OID 16588)
-- Name: like uq_user_share_like; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public."like"
ADD CONSTRAINT uq_user_share_like UNIQUE (user_id, share_id);
--
-- TOC entry 4801 (class 2606 OID 16410)
-- Name: user user_email_key; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public."user"
ADD CONSTRAINT user_email_key UNIQUE (email);
--
-- TOC entry 4803 (class 2606 OID 16492)
-- Name: user user_fs_uniquifier_key; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public."user"
ADD CONSTRAINT user_fs_uniquifier_key UNIQUE (fs_uniquifier);
--
-- TOC entry 4805 (class 2606 OID 16494)
-- Name: user user_phone_key; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public."user"
ADD CONSTRAINT user_phone_key UNIQUE (phone);
--
-- TOC entry 4807 (class 2606 OID 16408)
-- Name: user user_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public."user"
ADD CONSTRAINT user_pkey PRIMARY KEY (id);
--
-- TOC entry 4809 (class 2606 OID 16412)
-- Name: user user_username_key; Type: CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public."user"
ADD CONSTRAINT user_username_key UNIQUE (username);
--
-- TOC entry 4841 (class 2606 OID 16554)
-- Name: comment comment_post_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.comment
ADD CONSTRAINT comment_post_id_fkey FOREIGN KEY (post_id) REFERENCES public.post(id) ON DELETE CASCADE;
--
-- TOC entry 4842 (class 2606 OID 16629)
-- Name: comment comment_share_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.comment
ADD CONSTRAINT comment_share_id_fkey FOREIGN KEY (share_id) REFERENCES public.share(id) ON DELETE CASCADE;
--
-- TOC entry 4843 (class 2606 OID 16559)
-- Name: comment comment_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.comment
ADD CONSTRAINT comment_user_id_fkey FOREIGN KEY (user_id) REFERENCES public."user"(id) ON DELETE CASCADE;
--
-- TOC entry 4833 (class 2606 OID 16440)
-- Name: friendships friendships_friend_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.friendships
ADD CONSTRAINT friendships_friend_id_fkey FOREIGN KEY (friend_id) REFERENCES public."user"(id);
--
-- TOC entry 4834 (class 2606 OID 16445)
-- Name: friendships friendships_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.friendships
ADD CONSTRAINT friendships_user_id_fkey FOREIGN KEY (user_id) REFERENCES public."user"(id);
--
-- TOC entry 4835 (class 2606 OID 16589)
-- Name: like like_comment_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public."like"
ADD CONSTRAINT like_comment_id_fkey FOREIGN KEY (comment_id) REFERENCES public.comment(id) ON DELETE CASCADE;
--
-- TOC entry 4836 (class 2606 OID 16599)
-- Name: like like_post_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public."like"
ADD CONSTRAINT like_post_id_fkey FOREIGN KEY (post_id) REFERENCES public.post(id) ON DELETE CASCADE;
--
-- TOC entry 4837 (class 2606 OID 16594)
-- Name: like like_share_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public."like"
ADD CONSTRAINT like_share_id_fkey FOREIGN KEY (share_id) REFERENCES public.share(id) ON DELETE CASCADE;
--
-- TOC entry 4838 (class 2606 OID 16604)
-- Name: like like_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public."like"
ADD CONSTRAINT like_user_id_fkey FOREIGN KEY (user_id) REFERENCES public."user"(id) ON DELETE CASCADE;
--
-- TOC entry 4846 (class 2606 OID 16619)
-- Name: message message_recipient_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.message
ADD CONSTRAINT message_recipient_id_fkey FOREIGN KEY (recipient_id) REFERENCES public."user"(id) ON DELETE CASCADE;
--
-- TOC entry 4847 (class 2606 OID 16624)
-- Name: message message_sender_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.message
ADD CONSTRAINT message_sender_id_fkey FOREIGN KEY (sender_id) REFERENCES public."user"(id) ON DELETE CASCADE;
--
-- TOC entry 4832 (class 2606 OID 16430)
-- Name: post post_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.post
ADD CONSTRAINT post_user_id_fkey FOREIGN KEY (user_id) REFERENCES public."user"(id);
--
-- TOC entry 4839 (class 2606 OID 16481)
-- Name: roles_users roles_users_role_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.roles_users
ADD CONSTRAINT roles_users_role_id_fkey FOREIGN KEY (role_id) REFERENCES public.role(id);
--
-- TOC entry 4840 (class 2606 OID 16486)
-- Name: roles_users roles_users_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.roles_users
ADD CONSTRAINT roles_users_user_id_fkey FOREIGN KEY (user_id) REFERENCES public."user"(id);
--
-- TOC entry 4844 (class 2606 OID 16573)
-- Name: share share_post_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.share
ADD CONSTRAINT share_post_id_fkey FOREIGN KEY (post_id) REFERENCES public.post(id) ON DELETE CASCADE;
--
-- TOC entry 4845 (class 2606 OID 16578)
-- Name: share share_user_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres
--
ALTER TABLE ONLY public.share
ADD CONSTRAINT share_user_id_fkey FOREIGN KEY (user_id) REFERENCES public."user"(id) ON DELETE CASCADE;
-- Completed on 2025-06-03 16:37:22
--
-- PostgreSQL database dump complete
--