219 lines
4.6 KiB
SQL
219 lines
4.6 KiB
SQL
\restrict dbmate
|
|
|
|
-- Dumped from database version 18.3
|
|
-- Dumped by pg_dump version 18.6
|
|
|
|
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;
|
|
|
|
SET default_tablespace = '';
|
|
|
|
SET default_table_access_method = heap;
|
|
|
|
--
|
|
-- Name: courses; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.courses (
|
|
id integer NOT NULL,
|
|
name text NOT NULL,
|
|
code text,
|
|
teachers text[] DEFAULT '{}'::text[] NOT NULL,
|
|
main_page_url text
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: courses_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.courses_id_seq
|
|
AS integer
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: courses_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE public.courses_id_seq OWNED BY public.courses.id;
|
|
|
|
|
|
--
|
|
-- Name: schema_migrations; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.schema_migrations (
|
|
version character varying NOT NULL
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: slot_tags; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.slot_tags (
|
|
id integer NOT NULL,
|
|
name jsonb NOT NULL,
|
|
color text NOT NULL
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: slot_tags_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.slot_tags_id_seq
|
|
AS integer
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: slot_tags_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE public.slot_tags_id_seq OWNED BY public.slot_tags.id;
|
|
|
|
|
|
--
|
|
-- Name: time_slots; Type: TABLE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE TABLE public.time_slots (
|
|
id integer NOT NULL,
|
|
course_id integer NOT NULL,
|
|
tag_id integer NOT NULL,
|
|
weekday smallint NOT NULL,
|
|
start_time time without time zone NOT NULL,
|
|
end_time time without time zone NOT NULL,
|
|
CONSTRAINT time_slots_check CHECK ((start_time < end_time)),
|
|
CONSTRAINT time_slots_weekday_check CHECK (((weekday >= 1) AND (weekday <= 7)))
|
|
);
|
|
|
|
|
|
--
|
|
-- Name: time_slots_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE SEQUENCE public.time_slots_id_seq
|
|
AS integer
|
|
START WITH 1
|
|
INCREMENT BY 1
|
|
NO MINVALUE
|
|
NO MAXVALUE
|
|
CACHE 1;
|
|
|
|
|
|
--
|
|
-- Name: time_slots_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER SEQUENCE public.time_slots_id_seq OWNED BY public.time_slots.id;
|
|
|
|
|
|
--
|
|
-- Name: courses id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.courses ALTER COLUMN id SET DEFAULT nextval('public.courses_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: slot_tags id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.slot_tags ALTER COLUMN id SET DEFAULT nextval('public.slot_tags_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: time_slots id; Type: DEFAULT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.time_slots ALTER COLUMN id SET DEFAULT nextval('public.time_slots_id_seq'::regclass);
|
|
|
|
|
|
--
|
|
-- Name: courses courses_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.courses
|
|
ADD CONSTRAINT courses_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: schema_migrations schema_migrations_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.schema_migrations
|
|
ADD CONSTRAINT schema_migrations_pkey PRIMARY KEY (version);
|
|
|
|
|
|
--
|
|
-- Name: slot_tags slot_tags_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.slot_tags
|
|
ADD CONSTRAINT slot_tags_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: time_slots time_slots_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.time_slots
|
|
ADD CONSTRAINT time_slots_pkey PRIMARY KEY (id);
|
|
|
|
|
|
--
|
|
-- Name: time_slots_course_id_idx; Type: INDEX; Schema: public; Owner: -
|
|
--
|
|
|
|
CREATE INDEX time_slots_course_id_idx ON public.time_slots USING btree (course_id);
|
|
|
|
|
|
--
|
|
-- Name: time_slots time_slots_course_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.time_slots
|
|
ADD CONSTRAINT time_slots_course_id_fkey FOREIGN KEY (course_id) REFERENCES public.courses(id) ON DELETE CASCADE;
|
|
|
|
|
|
--
|
|
-- Name: time_slots time_slots_tag_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
|
|
--
|
|
|
|
ALTER TABLE ONLY public.time_slots
|
|
ADD CONSTRAINT time_slots_tag_id_fkey FOREIGN KEY (tag_id) REFERENCES public.slot_tags(id);
|
|
|
|
|
|
--
|
|
-- PostgreSQL database dump complete
|
|
--
|
|
|
|
\unrestrict dbmate
|
|
|
|
|
|
--
|
|
-- Dbmate schema migrations
|
|
--
|
|
|
|
INSERT INTO public.schema_migrations (version) VALUES
|
|
('20260928120000');
|