1028 lines
27 KiB
PL/PgSQL
1028 lines
27 KiB
PL/PgSQL
-- Downloaded from: https://github.com/kentyler/conversationalaiapi/blob/78e742330b401288aa971ac1bcbab487a3c8305e/neon_schema.sql
|
|
--
|
|
-- PostgreSQL database dump
|
|
--
|
|
|
|
-- Dumped from database version 17.4
|
|
-- Dumped by pg_dump version 17.4
|
|
|
|
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;
|
|
|
|
--
|
|
-- Name: vector; Type: EXTENSION; Schema: -; Owner: -
|
|
--
|
|
|
|
CREATE EXTENSION IF NOT EXISTS vector WITH SCHEMA public;
|
|
|
|
|
|
--
|
|
-- Name: EXTENSION vector; Type: COMMENT; Schema: -; Owner: -
|
|
--
|
|
|
|
COMMENT ON EXTENSION vector IS 'vector data type and ivfflat and hnsw access methods';
|
|
|
|
|
|
--
|
|
-- Name: create_missing_sequences(); Type: FUNCTION; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE FUNCTION public.create_missing_sequences() RETURNS void
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
DECLARE
|
|
table_rec RECORD;
|
|
column_rec RECORD;
|
|
seq_name TEXT;
|
|
max_val BIGINT;
|
|
BEGIN
|
|
-- Loop through all tables in the public schema
|
|
FOR table_rec IN
|
|
SELECT c.relname AS table_name
|
|
FROM pg_class c
|
|
JOIN pg_namespace n ON n.oid = c.relnamespace
|
|
WHERE c.relkind = 'r' -- only tables
|
|
AND n.nspname = 'public'
|
|
LOOP
|
|
-- For each table, find the primary key column of type BIGINT
|
|
FOR column_rec IN
|
|
SELECT a.attname AS column_name
|
|
FROM pg_attribute a
|
|
JOIN pg_constraint c ON a.attrelid = c.conrelid AND a.attnum = ANY(c.conkey)
|
|
WHERE c.contype = 'p' -- primary key
|
|
AND a.attrelid = (SELECT oid FROM pg_class WHERE relname = table_rec.table_name)
|
|
AND a.atttypid = 20 -- bigint type
|
|
LOOP
|
|
-- Create sequence name based on table and column
|
|
seq_name := table_rec.table_name || '_' || column_rec.column_name || '_seq';
|
|
|
|
-- Check if sequence already exists
|
|
IF NOT EXISTS (SELECT 1 FROM pg_class WHERE relkind = 'S' AND relname = seq_name) THEN
|
|
-- Get max value from the table for the sequence start
|
|
EXECUTE 'SELECT COALESCE(MAX(' || column_rec.column_name || '), 0) FROM ' || table_rec.table_name INTO max_val;
|
|
|
|
-- Create the sequence
|
|
EXECUTE 'CREATE SEQUENCE IF NOT EXISTS public.' || seq_name ||
|
|
' START WITH ' || (max_val + 1) ||
|
|
' INCREMENT BY 1' ||
|
|
' NO MINVALUE' ||
|
|
' NO MAXVALUE' ||
|
|
' CACHE 1';
|
|
|
|
-- Set the default value for the column
|
|
EXECUTE 'ALTER TABLE public.' || table_rec.table_name ||
|
|
' ALTER COLUMN ' || column_rec.column_name ||
|
|
' SET DEFAULT nextval(''public.' || seq_name || ''')';
|
|
|
|
-- Set the ownership of sequence to the column
|
|
EXECUTE 'ALTER SEQUENCE public.' || seq_name ||
|
|
' OWNED BY public.' || table_rec.table_name || '.' || column_rec.column_name;
|
|
|
|
RAISE NOTICE 'Created sequence % for table %.%',
|
|
seq_name, table_rec.table_name, column_rec.column_name;
|
|
ELSE
|
|
RAISE NOTICE 'Sequence % already exists', seq_name;
|
|
END IF;
|
|
END LOOP;
|
|
END LOOP;
|
|
END;
|
|
$$;
|
|
|
|
|
|
SET default_tablespace = '';
|
|
|
|
SET default_table_access_method = heap;
|
|
|
|
--
|
|
-- Name: avatar_event_types; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.avatar_event_types (
|
|
id integer NOT NULL,
|
|
name text NOT NULL,
|
|
description text NOT NULL
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: avatar_event_types_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.avatar_event_types_id_seq
|
|
AS integer
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: avatar_event_types_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE public.avatar_event_types_id_seq OWNED BY public.avatar_event_types.id;
|
|
|
|
|
|
--
|
|
-- Name: avatar_scopes; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.avatar_scopes (
|
|
id integer NOT NULL,
|
|
name text NOT NULL,
|
|
description text
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: avatar_scopes_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.avatar_scopes_id_seq
|
|
AS integer
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: avatar_scopes_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE public.avatar_scopes_id_seq OWNED BY public.avatar_scopes.id;
|
|
|
|
|
|
--
|
|
-- Name: avatars; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.avatars (
|
|
id bigint NOT NULL,
|
|
name text NOT NULL,
|
|
instruction_set text,
|
|
created_at timestamp with time zone DEFAULT now(),
|
|
avatar_scope_id integer DEFAULT 1 NOT NULL
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: avatars_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.avatars_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: avatars_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE public.avatars_id_seq OWNED BY public.avatars.id;
|
|
|
|
|
|
--
|
|
-- Name: file_types; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.file_types (
|
|
id bigint NOT NULL,
|
|
name text NOT NULL,
|
|
description text
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: file_types_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.file_types_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: file_types_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE public.file_types_id_seq OWNED BY public.file_types.id;
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatar_events; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.group_conversation_avatar_events (
|
|
id integer NOT NULL,
|
|
group_conversation_id bigint NOT NULL,
|
|
avatar_id bigint NOT NULL,
|
|
avatar_event_type_id integer NOT NULL,
|
|
performed_by_avatar_id bigint NOT NULL,
|
|
details jsonb,
|
|
created_at timestamp with time zone DEFAULT now() NOT NULL
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatar_events_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.group_conversation_avatar_events_id_seq
|
|
AS integer
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatar_events_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE public.group_conversation_avatar_events_id_seq OWNED BY public.group_conversation_avatar_events.id;
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatar_turn_relationships; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.group_conversation_avatar_turn_relationships (
|
|
id bigint NOT NULL,
|
|
turn_id bigint NOT NULL,
|
|
target_turn_id bigint NOT NULL,
|
|
relationship_type text NOT NULL,
|
|
created_at timestamp with time zone DEFAULT now() NOT NULL,
|
|
turn_relationship_type_id integer DEFAULT 1 NOT NULL
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatar_turn_relationships_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.group_conversation_avatar_turn_relationships_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatar_turn_relationships_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE public.group_conversation_avatar_turn_relationships_id_seq OWNED BY public.group_conversation_avatar_turn_relationships.id;
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatar_turns; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.group_conversation_avatar_turns (
|
|
id bigint NOT NULL,
|
|
group_conversation_id bigint NOT NULL,
|
|
avatar_id bigint NOT NULL,
|
|
turn_index integer NOT NULL,
|
|
content_text text NOT NULL,
|
|
content_vector public.vector(1536),
|
|
created_at timestamp with time zone DEFAULT now(),
|
|
turn_kind_id integer NOT NULL
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatar_turns_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.group_conversation_avatar_turns_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatar_turns_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE public.group_conversation_avatar_turns_id_seq OWNED BY public.group_conversation_avatar_turns.id;
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatars; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.group_conversation_avatars (
|
|
group_conversation_id bigint NOT NULL,
|
|
avatar_id bigint NOT NULL,
|
|
added_at timestamp with time zone DEFAULT now()
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatars_avatar_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.group_conversation_avatars_avatar_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatars_avatar_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE public.group_conversation_avatars_avatar_id_seq OWNED BY public.group_conversation_avatars.avatar_id;
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatars_group_conversation_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.group_conversation_avatars_group_conversation_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatars_group_conversation_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE public.group_conversation_avatars_group_conversation_id_seq OWNED BY public.group_conversation_avatars.group_conversation_id;
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_upload_vectors; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.group_conversation_upload_vectors (
|
|
id bigint NOT NULL,
|
|
upload_id bigint NOT NULL,
|
|
chunk_index integer NOT NULL,
|
|
content_text text NOT NULL,
|
|
content_vector public.vector(1536),
|
|
created_at timestamp with time zone DEFAULT now()
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_upload_vectors_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.group_conversation_upload_vectors_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_upload_vectors_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE public.group_conversation_upload_vectors_id_seq OWNED BY public.group_conversation_upload_vectors.id;
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_uploads; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.group_conversation_uploads (
|
|
id bigint NOT NULL,
|
|
group_conversation_id bigint NOT NULL,
|
|
turn_id bigint NOT NULL,
|
|
filename text NOT NULL,
|
|
mime_type text,
|
|
file_path text NOT NULL,
|
|
uploaded_at timestamp with time zone DEFAULT now()
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_uploads_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.group_conversation_uploads_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_uploads_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE public.group_conversation_uploads_id_seq OWNED BY public.group_conversation_uploads.id;
|
|
|
|
|
|
--
|
|
-- Name: group_conversations_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.group_conversations_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: group_conversations; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.group_conversations (
|
|
id bigint DEFAULT nextval('public.group_conversations_id_seq'::regclass) NOT NULL,
|
|
group_id bigint,
|
|
name text NOT NULL,
|
|
description text,
|
|
created_at timestamp with time zone DEFAULT now()
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: groups_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.groups_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: groups; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.groups (
|
|
id bigint DEFAULT nextval('public.groups_id_seq'::regclass) NOT NULL,
|
|
name text NOT NULL,
|
|
description text,
|
|
created_at timestamp with time zone DEFAULT now()
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: participant_groups; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.participant_groups (
|
|
participant_id bigint NOT NULL,
|
|
group_id bigint NOT NULL,
|
|
role text,
|
|
created_at timestamp with time zone DEFAULT now()
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: participant_groups_group_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.participant_groups_group_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: participant_groups_group_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE public.participant_groups_group_id_seq OWNED BY public.participant_groups.group_id;
|
|
|
|
|
|
--
|
|
-- Name: participant_groups_participant_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.participant_groups_participant_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: participant_groups_participant_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE public.participant_groups_participant_id_seq OWNED BY public.participant_groups.participant_id;
|
|
|
|
|
|
--
|
|
-- Name: participants; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.participants (
|
|
id bigint NOT NULL,
|
|
name text NOT NULL,
|
|
email text NOT NULL,
|
|
password text NOT NULL,
|
|
current_avatar_id bigint,
|
|
created_at timestamp with time zone DEFAULT now()
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: participants_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.participants_id_seq
|
|
START WITH 2
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: participants_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE public.participants_id_seq OWNED BY public.participants.id;
|
|
|
|
|
|
--
|
|
-- Name: turn_relationship_types; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.turn_relationship_types (
|
|
id bigint NOT NULL,
|
|
name text NOT NULL,
|
|
description text
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: relationship_types_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.relationship_types_id_seq
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: relationship_types_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE public.relationship_types_id_seq OWNED BY public.turn_relationship_types.id;
|
|
|
|
|
|
--
|
|
-- Name: turn_kinds; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.turn_kinds (
|
|
id integer NOT NULL,
|
|
name text NOT NULL,
|
|
description text
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: turn_kinds_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.turn_kinds_id_seq
|
|
AS integer
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: turn_kinds_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE public.turn_kinds_id_seq OWNED BY public.turn_kinds.id;
|
|
|
|
|
|
--
|
|
-- Name: avatar_event_types id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.avatar_event_types ALTER COLUMN id SET DEFAULT nextval('public.avatar_event_types_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: avatar_scopes id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.avatar_scopes ALTER COLUMN id SET DEFAULT nextval('public.avatar_scopes_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: avatars id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.avatars ALTER COLUMN id SET DEFAULT nextval('public.avatars_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: file_types id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.file_types ALTER COLUMN id SET DEFAULT nextval('public.file_types_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatar_events id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.group_conversation_avatar_events ALTER COLUMN id SET DEFAULT nextval('public.group_conversation_avatar_events_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatar_turn_relationships id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.group_conversation_avatar_turn_relationships ALTER COLUMN id SET DEFAULT nextval('public.group_conversation_avatar_turn_relationships_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatar_turns id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.group_conversation_avatar_turns ALTER COLUMN id SET DEFAULT nextval('public.group_conversation_avatar_turns_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatars group_conversation_id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.group_conversation_avatars ALTER COLUMN group_conversation_id SET DEFAULT nextval('public.group_conversation_avatars_group_conversation_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatars avatar_id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.group_conversation_avatars ALTER COLUMN avatar_id SET DEFAULT nextval('public.group_conversation_avatars_avatar_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_upload_vectors id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.group_conversation_upload_vectors ALTER COLUMN id SET DEFAULT nextval('public.group_conversation_upload_vectors_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_uploads id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.group_conversation_uploads ALTER COLUMN id SET DEFAULT nextval('public.group_conversation_uploads_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: participant_groups participant_id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.participant_groups ALTER COLUMN participant_id SET DEFAULT nextval('public.participant_groups_participant_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: participant_groups group_id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.participant_groups ALTER COLUMN group_id SET DEFAULT nextval('public.participant_groups_group_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: participants id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.participants ALTER COLUMN id SET DEFAULT nextval('public.participants_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: turn_kinds id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.turn_kinds ALTER COLUMN id SET DEFAULT nextval('public.turn_kinds_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: turn_relationship_types id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.turn_relationship_types ALTER COLUMN id SET DEFAULT nextval('public.relationship_types_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: avatar_event_types avatar_event_types_name_key; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.avatar_event_types
|
|
ADD CONSTRAINT avatar_event_types_name_key UNIQUE (name);
|
|
|
|
|
|
--
|
|
-- Name: avatar_event_types avatar_event_types_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.avatar_event_types
|
|
ADD CONSTRAINT avatar_event_types_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: avatar_scopes avatar_scopes_name_key; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.avatar_scopes
|
|
ADD CONSTRAINT avatar_scopes_name_key UNIQUE (name);
|
|
|
|
|
|
--
|
|
-- Name: avatar_scopes avatar_scopes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.avatar_scopes
|
|
ADD CONSTRAINT avatar_scopes_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: avatars avatars_name_key; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.avatars
|
|
ADD CONSTRAINT avatars_name_key UNIQUE (name);
|
|
|
|
|
|
--
|
|
-- Name: avatars avatars_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.avatars
|
|
ADD CONSTRAINT avatars_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: file_types file_types_name_key; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.file_types
|
|
ADD CONSTRAINT file_types_name_key UNIQUE (name);
|
|
|
|
|
|
--
|
|
-- Name: file_types file_types_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.file_types
|
|
ADD CONSTRAINT file_types_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatar_turn_relationships group_conversation_avatar_tur_turn_id_target_turn_id_relati_key; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.group_conversation_avatar_turn_relationships
|
|
ADD CONSTRAINT group_conversation_avatar_tur_turn_id_target_turn_id_relati_key UNIQUE (turn_id, target_turn_id, relationship_type);
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatar_turn_relationships group_conversation_avatar_turn_relationships_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.group_conversation_avatar_turn_relationships
|
|
ADD CONSTRAINT group_conversation_avatar_turn_relationships_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatar_turns group_conversation_avatar_turns_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.group_conversation_avatar_turns
|
|
ADD CONSTRAINT group_conversation_avatar_turns_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatars group_conversation_avatars_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.group_conversation_avatars
|
|
ADD CONSTRAINT group_conversation_avatars_pkey PRIMARY KEY (group_conversation_id, avatar_id);
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_upload_vectors group_conversation_upload_vectors_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.group_conversation_upload_vectors
|
|
ADD CONSTRAINT group_conversation_upload_vectors_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_uploads group_conversation_uploads_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.group_conversation_uploads
|
|
ADD CONSTRAINT group_conversation_uploads_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: group_conversations group_conversations_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.group_conversations
|
|
ADD CONSTRAINT group_conversations_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: groups groups_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.groups
|
|
ADD CONSTRAINT groups_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: participant_groups participant_groups_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.participant_groups
|
|
ADD CONSTRAINT participant_groups_pkey PRIMARY KEY (participant_id, group_id);
|
|
|
|
|
|
--
|
|
-- Name: participants participants_email_key; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.participants
|
|
ADD CONSTRAINT participants_email_key UNIQUE (email);
|
|
|
|
|
|
--
|
|
-- Name: participants participants_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.participants
|
|
ADD CONSTRAINT participants_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: turn_relationship_types relationship_types_name_key; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.turn_relationship_types
|
|
ADD CONSTRAINT relationship_types_name_key UNIQUE (name);
|
|
|
|
|
|
--
|
|
-- Name: turn_relationship_types relationship_types_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.turn_relationship_types
|
|
ADD CONSTRAINT relationship_types_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatar_events session_avatar_events_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.group_conversation_avatar_events
|
|
ADD CONSTRAINT session_avatar_events_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: turn_kinds turn_kinds_name_key; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.turn_kinds
|
|
ADD CONSTRAINT turn_kinds_name_key UNIQUE (name);
|
|
|
|
|
|
--
|
|
-- Name: turn_kinds turn_kinds_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.turn_kinds
|
|
ADD CONSTRAINT turn_kinds_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: idx_gcavtr_target; Type: INDEX; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE INDEX idx_gcavtr_target ON public.group_conversation_avatar_turn_relationships USING btree (target_turn_id);
|
|
|
|
|
|
--
|
|
-- Name: avatars fk_avatars_scope; Type: FK CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.avatars
|
|
ADD CONSTRAINT fk_avatars_scope FOREIGN KEY (avatar_scope_id) REFERENCES public.avatar_scopes(id) ON DELETE RESTRICT;
|
|
|
|
|
|
--
|
|
-- Name: participants fk_participants_current_avatar; Type: FK CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.participants
|
|
ADD CONSTRAINT fk_participants_current_avatar FOREIGN KEY (current_avatar_id) REFERENCES public.avatars(id);
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatar_events group_conversation_avatar_events_avatar_event_type_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.group_conversation_avatar_events
|
|
ADD CONSTRAINT group_conversation_avatar_events_avatar_event_type_id_fkey FOREIGN KEY (avatar_event_type_id) REFERENCES public.avatar_event_types(id) ON DELETE RESTRICT;
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatar_events group_conversation_avatar_events_avatar_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.group_conversation_avatar_events
|
|
ADD CONSTRAINT group_conversation_avatar_events_avatar_id_fkey FOREIGN KEY (avatar_id) REFERENCES public.avatars(id) ON DELETE CASCADE;
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatar_events group_conversation_avatar_events_group_conversation_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.group_conversation_avatar_events
|
|
ADD CONSTRAINT group_conversation_avatar_events_group_conversation_id_fkey FOREIGN KEY (group_conversation_id) REFERENCES public.group_conversations(id) ON DELETE CASCADE;
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatar_events group_conversation_avatar_events_performed_by_avatar_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.group_conversation_avatar_events
|
|
ADD CONSTRAINT group_conversation_avatar_events_performed_by_avatar_id_fkey FOREIGN KEY (performed_by_avatar_id) REFERENCES public.avatars(id) ON DELETE SET NULL;
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatar_turn_relationships group_conversation_avatar_turn_relationship_target_turn_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.group_conversation_avatar_turn_relationships
|
|
ADD CONSTRAINT group_conversation_avatar_turn_relationship_target_turn_id_fkey FOREIGN KEY (target_turn_id) REFERENCES public.group_conversation_avatar_turns(id) ON DELETE CASCADE;
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatar_turn_relationships group_conversation_avatar_turn_relationships_turn_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.group_conversation_avatar_turn_relationships
|
|
ADD CONSTRAINT group_conversation_avatar_turn_relationships_turn_id_fkey FOREIGN KEY (turn_id) REFERENCES public.group_conversation_avatar_turns(id) ON DELETE CASCADE;
|
|
|
|
|
|
--
|
|
-- Name: group_conversation_avatar_turns group_conversation_avatar_turns_turn_kind_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.group_conversation_avatar_turns
|
|
ADD CONSTRAINT group_conversation_avatar_turns_turn_kind_id_fkey FOREIGN KEY (turn_kind_id) REFERENCES public.turn_kinds(id) ON UPDATE CASCADE ON DELETE RESTRICT;
|
|
|
|
|
|
--
|
|
-- PostgreSQL database dump complete
|
|
--
|
|
|