ittech/w12/db-init.sql
2023-03-26 16:58:46 +07:00

102 lines
No EOL
2.8 KiB
SQL

-- COMMENT ON SCHEMA public IS 'standard public schema';
--SET default_tablespace = '';
--SET default_table_access_method = heap;
CREATE TABLE public.images (
id integer NOT NULL,
filename character varying(255) NOT NULL,
user_id integer NOT NULL,
published boolean DEFAULT false,
description character varying(255) DEFAULT ''::character varying NOT NULL,
created_at timestamp without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL
);
CREATE SEQUENCE public.images_id_seq
AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER SEQUENCE public.images_id_seq OWNED BY public.images.id;
CREATE SEQUENCE public.images_user_id_seq
AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER SEQUENCE public.images_user_id_seq OWNED BY public.images.user_id;
CREATE TABLE public.menu (
id integer NOT NULL,
user_id integer NOT NULL,
data character varying DEFAULT '[]'::character varying
);
CREATE SEQUENCE public.menu_id_seq
AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER SEQUENCE public.menu_id_seq OWNED BY public.menu.id;
CREATE SEQUENCE public.menu_user_id_seq
AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER SEQUENCE public.menu_user_id_seq OWNED BY public.menu.user_id;
CREATE TABLE public.users (
id integer NOT NULL,
login character varying(255) NOT NULL,
password character varying(255) NOT NULL,
created_at timestamp without time zone DEFAULT CURRENT_TIMESTAMP NOT NULL
);
CREATE SEQUENCE public.users_id_seq
AS integer
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER SEQUENCE public.users_id_seq OWNED BY public.users.id;
ALTER TABLE ONLY public.images ALTER COLUMN id SET DEFAULT nextval('public.images_id_seq'::regclass);
ALTER TABLE ONLY public.images ALTER COLUMN user_id SET DEFAULT nextval('public.images_user_id_seq'::regclass);
ALTER TABLE ONLY public.menu ALTER COLUMN id SET DEFAULT nextval('public.menu_id_seq'::regclass);
ALTER TABLE ONLY public.menu ALTER COLUMN user_id SET DEFAULT nextval('public.menu_user_id_seq'::regclass);
ALTER TABLE ONLY public.users ALTER COLUMN id SET DEFAULT nextval('public.users_id_seq'::regclass);
ALTER TABLE ONLY public.images
ADD CONSTRAINT images_pk PRIMARY KEY (id);
ALTER TABLE ONLY public.menu
ADD CONSTRAINT menu_pk PRIMARY KEY (id);
ALTER TABLE ONLY public.users
ADD CONSTRAINT users_pk PRIMARY KEY (id);
ALTER TABLE ONLY public.users
ADD CONSTRAINT users_un UNIQUE (login);
ALTER TABLE ONLY public.images
ADD CONSTRAINT images_fk FOREIGN KEY (user_id) REFERENCES public.users(id);
ALTER TABLE ONLY public.menu
ADD CONSTRAINT menu_fk FOREIGN KEY (user_id) REFERENCES public.users(id) ON UPDATE CASCADE ON DELETE CASCADE;