From dfe6325f3c2739a9fed716ef272861e26999b999 Mon Sep 17 00:00:00 2001 From: lesion Date: Tue, 5 Mar 2019 01:37:46 +0100 Subject: [PATCH] add init postgres schema --- app/db.js | 2 +- docker-compose.yml | 2 + init.sql | 492 +++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 495 insertions(+), 1 deletion(-) create mode 100644 init.sql diff --git a/app/db.js b/app/db.js index ca5bf156..926cfaf4 100644 --- a/app/db.js +++ b/app/db.js @@ -3,7 +3,7 @@ const conf = require('./config.js') console.error(conf.db) const db = new Sequelize(conf.db) -db.sync({ force: true }) +//db.sync({ force: true }) // db.sync() module.exports = db diff --git a/docker-compose.yml b/docker-compose.yml index 283a37c1..fc868db3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,6 +8,8 @@ services: POSTGRES_PASSWORD: 12345 POSTGRES_USER: postgres POSTGRES_DB: gancio + volumes: + - ./init.sql:/docker-entrypoint-initdb.d/init.sql app: build: . diff --git a/init.sql b/init.sql new file mode 100644 index 00000000..bd3f7c60 --- /dev/null +++ b/init.sql @@ -0,0 +1,492 @@ +-- +-- PostgreSQL database dump +-- + +-- Dumped from database version 11.2 (Debian 11.2-1.pgdg90+1) +-- Dumped by pg_dump version 11.2 (Debian 11.2-1.pgdg90+1) + +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 client_min_messages = warning; +SET row_security = off; + +SET default_tablespace = ''; + +SET default_with_oids = false; + +-- +-- Name: comments; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.comments ( + id integer NOT NULL, + activitypub_id integer, + author character varying(255), + text character varying(255), + "createdAt" timestamp with time zone NOT NULL, + "updatedAt" timestamp with time zone NOT NULL, + "eventId" integer +); + + +ALTER TABLE public.comments OWNER TO postgres; + +-- +-- Name: comments_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.comments_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.comments_id_seq OWNER TO postgres; + +-- +-- Name: comments_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.comments_id_seq OWNED BY public.comments.id; + + +-- +-- Name: events; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.events ( + id integer NOT NULL, + title character varying(255), + description character varying(255), + multidate boolean, + start_datetime timestamp with time zone, + end_datetime timestamp with time zone, + image_path character varying(255), + activitypub_id integer, + "createdAt" timestamp with time zone NOT NULL, + "updatedAt" timestamp with time zone NOT NULL, + "userId" integer, + "placeId" integer +); + + +ALTER TABLE public.events OWNER TO postgres; + +-- +-- Name: events_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.events_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.events_id_seq OWNER TO postgres; + +-- +-- Name: events_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.events_id_seq OWNED BY public.events.id; + + +-- +-- Name: places; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.places ( + id integer NOT NULL, + name character varying(255), + address character varying(255), + "createdAt" timestamp with time zone NOT NULL, + "updatedAt" timestamp with time zone NOT NULL +); + + +ALTER TABLE public.places OWNER TO postgres; + +-- +-- Name: places_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.places_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.places_id_seq OWNER TO postgres; + +-- +-- Name: places_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.places_id_seq OWNED BY public.places.id; + + +-- +-- Name: subscriptions; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.subscriptions ( + id integer NOT NULL, + filters json, + mail text, + send_on_add boolean, + send_reminder integer, + "createdAt" timestamp with time zone NOT NULL, + "updatedAt" timestamp with time zone NOT NULL +); + + +ALTER TABLE public.subscriptions OWNER TO postgres; + +-- +-- Name: subscriptions_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.subscriptions_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.subscriptions_id_seq OWNER TO postgres; + +-- +-- Name: subscriptions_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.subscriptions_id_seq OWNED BY public.subscriptions.id; + + +-- +-- Name: tagEvent; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public."tagEvent" ( + "createdAt" timestamp with time zone NOT NULL, + "updatedAt" timestamp with time zone NOT NULL, + "eventId" integer NOT NULL, + "tagTag" character varying(255) NOT NULL +); + + +ALTER TABLE public."tagEvent" OWNER TO postgres; + +-- +-- Name: tags; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.tags ( + tag character varying(255) NOT NULL, + color character varying(255), + "createdAt" timestamp with time zone NOT NULL, + "updatedAt" timestamp with time zone NOT NULL +); + + +ALTER TABLE public.tags OWNER TO postgres; + +-- +-- Name: users; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.users ( + id integer NOT NULL, + email character varying(255) NOT NULL, + description text, + password character varying(255), + is_admin boolean, + is_active boolean, + mastodon_instance character varying(255), + mastodon_auth json, + "createdAt" timestamp with time zone NOT NULL, + "updatedAt" timestamp with time zone NOT NULL +); + + +ALTER TABLE public.users OWNER TO postgres; + +-- +-- Name: users_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.users_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.users_id_seq OWNER TO postgres; + +-- +-- Name: users_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.users_id_seq OWNED BY public.users.id; + + +-- +-- Name: comments id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.comments ALTER COLUMN id SET DEFAULT nextval('public.comments_id_seq'::regclass); + + +-- +-- Name: events id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.events ALTER COLUMN id SET DEFAULT nextval('public.events_id_seq'::regclass); + + +-- +-- Name: places id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.places ALTER COLUMN id SET DEFAULT nextval('public.places_id_seq'::regclass); + + +-- +-- Name: subscriptions id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.subscriptions ALTER COLUMN id SET DEFAULT nextval('public.subscriptions_id_seq'::regclass); + + +-- +-- Name: users id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.users ALTER COLUMN id SET DEFAULT nextval('public.users_id_seq'::regclass); + + +-- +-- Data for Name: comments; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.comments (id, activitypub_id, author, text, "createdAt", "updatedAt", "eventId") FROM stdin; +\. + + +-- +-- Data for Name: events; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.events (id, title, description, multidate, start_datetime, end_datetime, image_path, activitypub_id, "createdAt", "updatedAt", "userId", "placeId") FROM stdin; +\. + + +-- +-- Data for Name: places; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.places (id, name, address, "createdAt", "updatedAt") FROM stdin; +\. + + +-- +-- Data for Name: subscriptions; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.subscriptions (id, filters, mail, send_on_add, send_reminder, "createdAt", "updatedAt") FROM stdin; +\. + + +-- +-- Data for Name: tagEvent; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public."tagEvent" ("createdAt", "updatedAt", "eventId", "tagTag") FROM stdin; +\. + + +-- +-- Data for Name: tags; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.tags (tag, color, "createdAt", "updatedAt") FROM stdin; +\. + + +-- +-- Data for Name: users; Type: TABLE DATA; Schema: public; Owner: postgres +-- + +COPY public.users (id, email, description, password, is_admin, is_active, mastodon_instance, mastodon_auth, "createdAt", "updatedAt") FROM stdin; +\. + + +-- +-- Name: comments_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres +-- + +SELECT pg_catalog.setval('public.comments_id_seq', 1, false); + + +-- +-- Name: events_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres +-- + +SELECT pg_catalog.setval('public.events_id_seq', 1, false); + + +-- +-- Name: places_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres +-- + +SELECT pg_catalog.setval('public.places_id_seq', 1, false); + + +-- +-- Name: subscriptions_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres +-- + +SELECT pg_catalog.setval('public.subscriptions_id_seq', 1, false); + + +-- +-- Name: users_id_seq; Type: SEQUENCE SET; Schema: public; Owner: postgres +-- + +SELECT pg_catalog.setval('public.users_id_seq', 1, false); + + +-- +-- Name: comments comments_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.comments + ADD CONSTRAINT comments_pkey PRIMARY KEY (id); + + +-- +-- Name: events events_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.events + ADD CONSTRAINT events_pkey PRIMARY KEY (id); + + +-- +-- Name: places places_name_key; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.places + ADD CONSTRAINT places_name_key UNIQUE (name); + + +-- +-- Name: places places_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.places + ADD CONSTRAINT places_pkey PRIMARY KEY (id); + + +-- +-- Name: subscriptions subscriptions_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.subscriptions + ADD CONSTRAINT subscriptions_pkey PRIMARY KEY (id); + + +-- +-- Name: tagEvent tagEvent_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public."tagEvent" + ADD CONSTRAINT "tagEvent_pkey" PRIMARY KEY ("eventId", "tagTag"); + + +-- +-- Name: tags tags_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.tags + ADD CONSTRAINT tags_pkey PRIMARY KEY (tag); + + +-- +-- Name: users users_email_key; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.users + ADD CONSTRAINT users_email_key UNIQUE (email); + + +-- +-- Name: users users_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.users + ADD CONSTRAINT users_pkey PRIMARY KEY (id); + + +-- +-- Name: comments comments_eventId_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.comments + ADD CONSTRAINT "comments_eventId_fkey" FOREIGN KEY ("eventId") REFERENCES public.events(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- Name: events events_placeId_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.events + ADD CONSTRAINT "events_placeId_fkey" FOREIGN KEY ("placeId") REFERENCES public.places(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- Name: events events_userId_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.events + ADD CONSTRAINT "events_userId_fkey" FOREIGN KEY ("userId") REFERENCES public.users(id) ON UPDATE CASCADE ON DELETE SET NULL; + + +-- +-- Name: tagEvent tagEvent_eventId_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public."tagEvent" + ADD CONSTRAINT "tagEvent_eventId_fkey" FOREIGN KEY ("eventId") REFERENCES public.events(id) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- Name: tagEvent tagEvent_tagTag_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public."tagEvent" + ADD CONSTRAINT "tagEvent_tagTag_fkey" FOREIGN KEY ("tagTag") REFERENCES public.tags(tag) ON UPDATE CASCADE ON DELETE CASCADE; + + +-- +-- PostgreSQL database dump complete +-- +