This commit is contained in:
xfarrow
2024-08-27 15:19:42 +02:00
parent 3b6aac56ae
commit f4f1423630
11 changed files with 68 additions and 123 deletions

View File

@ -1,8 +1,8 @@
-- Table: public.Person -- Table: Person
-- DROP TABLE IF EXISTS public."Person"; -- DROP TABLE IF EXISTS "Person";
CREATE TABLE IF NOT EXISTS public."Person" CREATE TABLE IF NOT EXISTS "Person"
( (
id SERIAL PRIMARY KEY, id SERIAL PRIMARY KEY,
email character varying(128) NOT NULL UNIQUE, -- Primary e-mail email character varying(128) NOT NULL UNIQUE, -- Primary e-mail
@ -14,9 +14,4 @@ CREATE TABLE IF NOT EXISTS public."Person"
place_of_living character varying(128), place_of_living character varying(128),
about_me character varying(4096), about_me character varying(4096),
qualification character varying(64) qualification character varying(64)
) )
TABLESPACE pg_default;
ALTER TABLE IF EXISTS public."Person"
OWNER to pg_database_owner;

View File

@ -1,17 +1,12 @@
-- Table: public.RequestResetPassword -- Table: RequestResetPassword
-- DROP TABLE IF EXISTS public."RequestResetPassword"; -- DROP TABLE IF EXISTS "RequestResetPassword";
CREATE TABLE IF NOT EXISTS public."RequestResetPassword" CREATE TABLE IF NOT EXISTS "RequestResetPassword"
( (
id serial, id serial,
email character varying(128) NOT NULL, email character varying(128) NOT NULL,
secret character varying NOT NULL, secret character varying NOT NULL,
time_of_request timestamp without time zone NOT NULL DEFAULT now(), time_of_request timestamp without time zone NOT NULL DEFAULT now(),
CONSTRAINT "RequestResetPassword_pkey" PRIMARY KEY (id) CONSTRAINT "RequestResetPassword_pkey" PRIMARY KEY (id)
) )
TABLESPACE pg_default;
ALTER TABLE IF EXISTS public."RequestResetPassword"
OWNER to postgres;

View File

@ -1,8 +1,8 @@
-- Table: public.Experience -- Table: Experience
-- DROP TABLE IF EXISTS public."Experience"; -- DROP TABLE IF EXISTS "Experience";
CREATE TABLE IF NOT EXISTS public."Experience" CREATE TABLE IF NOT EXISTS "Experience"
( (
id serial, id serial,
title character varying(128) NOT NULL, title character varying(128) NOT NULL,
@ -14,16 +14,11 @@ CREATE TABLE IF NOT EXISTS public."Experience"
type character varying(32) NOT NULL, type character varying(32) NOT NULL,
CONSTRAINT "Experience_pkey" PRIMARY KEY (id), CONSTRAINT "Experience_pkey" PRIMARY KEY (id),
CONSTRAINT "OrganizationFk" FOREIGN KEY (organization_id) CONSTRAINT "OrganizationFk" FOREIGN KEY (organization_id)
REFERENCES public."Organization" (id) MATCH SIMPLE REFERENCES "Organization" (id) MATCH SIMPLE
ON UPDATE CASCADE ON UPDATE CASCADE
ON DELETE SET NULL, ON DELETE SET NULL,
CONSTRAINT "PersonFk" FOREIGN KEY (person_id) CONSTRAINT "PersonFk" FOREIGN KEY (person_id)
REFERENCES public."Person" (id) MATCH SIMPLE REFERENCES "Person" (id) MATCH SIMPLE
ON UPDATE CASCADE ON UPDATE CASCADE
ON DELETE CASCADE ON DELETE CASCADE
) )
TABLESPACE pg_default;
ALTER TABLE IF EXISTS public."Experience"
OWNER to postgres;

View File

@ -1,18 +1,13 @@
-- Table: public.ActivationLink -- Table: ActivationLink
-- DROP TABLE IF EXISTS public."ActivationLink"; -- DROP TABLE IF EXISTS "ActivationLink";
CREATE TABLE IF NOT EXISTS public."ActivationLink" CREATE TABLE IF NOT EXISTS "ActivationLink"
( (
identifier character varying PRIMARY KEY, identifier character varying PRIMARY KEY,
person_id integer NOT NULL, person_id integer NOT NULL,
CONSTRAINT "PersonActivationLinkFK" FOREIGN KEY (person_id) CONSTRAINT "PersonActivationLinkFK" FOREIGN KEY (person_id)
REFERENCES public."Person" (id) MATCH SIMPLE REFERENCES "Person" (id) MATCH SIMPLE
ON UPDATE CASCADE ON UPDATE CASCADE
ON DELETE CASCADE ON DELETE CASCADE
) )
TABLESPACE pg_default;
ALTER TABLE IF EXISTS public."ActivationLink"
OWNER to pg_database_owner;

View File

@ -1,16 +1,11 @@
-- Table: public.Organization -- Table: Organization
-- DROP TABLE IF EXISTS public."Organization"; -- DROP TABLE IF EXISTS "Organization";
CREATE TABLE IF NOT EXISTS public."Organization" CREATE TABLE IF NOT EXISTS "Organization"
( (
id SERIAL PRIMARY KEY, id SERIAL PRIMARY KEY,
name character varying(128) NOT NULL, name character varying(128) NOT NULL,
location character varying, location character varying,
description text description text
) )
TABLESPACE pg_default;
ALTER TABLE IF EXISTS public."Organization"
OWNER to pg_database_owner;

View File

@ -1,8 +1,8 @@
-- Table: public.OrganizationPost -- Table: OrganizationPost
-- DROP TABLE IF EXISTS public."OrganizationPost"; -- DROP TABLE IF EXISTS "OrganizationPost";
CREATE TABLE IF NOT EXISTS public."OrganizationPost" CREATE TABLE IF NOT EXISTS "OrganizationPost"
( (
id SERIAL PRIMARY KEY, id SERIAL PRIMARY KEY,
organization_id integer NOT NULL, organization_id integer NOT NULL,
@ -10,18 +10,13 @@ CREATE TABLE IF NOT EXISTS public."OrganizationPost"
created_at timestamp without time zone DEFAULT now(), created_at timestamp without time zone DEFAULT now(),
original_author integer NOT NULL, original_author integer NOT NULL,
CONSTRAINT "AuthorIdFK" FOREIGN KEY (original_author) CONSTRAINT "AuthorIdFK" FOREIGN KEY (original_author)
REFERENCES public."Person" (id) MATCH SIMPLE REFERENCES "Person" (id) MATCH SIMPLE
ON UPDATE NO ACTION ON UPDATE NO ACTION
ON DELETE CASCADE ON DELETE CASCADE
NOT VALID, NOT VALID,
CONSTRAINT "OrganizationIdFk" FOREIGN KEY (organization_id) CONSTRAINT "OrganizationIdFk" FOREIGN KEY (organization_id)
REFERENCES public."Organization" (id) MATCH SIMPLE REFERENCES "Organization" (id) MATCH SIMPLE
ON UPDATE CASCADE ON UPDATE CASCADE
ON DELETE CASCADE ON DELETE CASCADE
NOT VALID NOT VALID
) )
TABLESPACE pg_default;
ALTER TABLE IF EXISTS public."OrganizationPost"
OWNER to postgres;

View File

@ -1,24 +1,19 @@
-- Table: public.OrganizationAdministrator -- Table: OrganizationAdministrator
-- DROP TABLE IF EXISTS public."OrganizationAdministrator"; -- DROP TABLE IF EXISTS "OrganizationAdministrator";
CREATE TABLE IF NOT EXISTS public."OrganizationAdministrator" CREATE TABLE IF NOT EXISTS "OrganizationAdministrator"
( (
id_person integer NOT NULL, id_person integer NOT NULL,
id_organization integer NOT NULL, id_organization integer NOT NULL,
CONSTRAINT "OrganizationAdministrator_pkey" PRIMARY KEY (id_organization, id_person), CONSTRAINT "OrganizationAdministrator_pkey" PRIMARY KEY (id_organization, id_person),
CONSTRAINT "OrganizationAdministratorOrganizationId" FOREIGN KEY (id_organization) CONSTRAINT "OrganizationAdministratorOrganizationId" FOREIGN KEY (id_organization)
REFERENCES public."Organization" (id) MATCH SIMPLE REFERENCES "Organization" (id) MATCH SIMPLE
ON UPDATE NO ACTION ON UPDATE NO ACTION
ON DELETE CASCADE ON DELETE CASCADE
NOT VALID, NOT VALID,
CONSTRAINT "OrganizationAdministratorUserId" FOREIGN KEY (id_person) CONSTRAINT "OrganizationAdministratorUserId" FOREIGN KEY (id_person)
REFERENCES public."Person" (id) MATCH SIMPLE REFERENCES "Person" (id) MATCH SIMPLE
ON UPDATE NO ACTION ON UPDATE NO ACTION
ON DELETE CASCADE ON DELETE CASCADE
) )
TABLESPACE pg_default;
ALTER TABLE IF EXISTS public."OrganizationAdministrator"
OWNER to pg_database_owner;

View File

@ -1,8 +1,8 @@
-- Table: public.Message -- Table: Message
-- DROP TABLE IF EXISTS public."Message"; -- DROP TABLE IF EXISTS "Message";
CREATE TABLE IF NOT EXISTS public."Message" CREATE TABLE IF NOT EXISTS "Message"
( (
id serial NOT NULL, id serial NOT NULL,
person_id integer NOT NULL, person_id integer NOT NULL,
@ -13,30 +13,25 @@ CREATE TABLE IF NOT EXISTS public."Message"
sender_type character varying(12) NOT NULL, sender_type character varying(12) NOT NULL,
CONSTRAINT "Message_pkey" PRIMARY KEY (id), CONSTRAINT "Message_pkey" PRIMARY KEY (id),
CONSTRAINT "Message_author_on_behalf_of_company_fkey" FOREIGN KEY (author_on_behalf_of_organization) CONSTRAINT "Message_author_on_behalf_of_company_fkey" FOREIGN KEY (author_on_behalf_of_organization)
REFERENCES public."Person" (id) MATCH SIMPLE REFERENCES "Person" (id) MATCH SIMPLE
ON UPDATE NO ACTION ON UPDATE NO ACTION
ON DELETE CASCADE, ON DELETE CASCADE,
CONSTRAINT "Message_organization_id_fkey" FOREIGN KEY (organization_id) CONSTRAINT "Message_organization_id_fkey" FOREIGN KEY (organization_id)
REFERENCES public."Organization" (id) MATCH SIMPLE REFERENCES "Organization" (id) MATCH SIMPLE
ON UPDATE NO ACTION ON UPDATE NO ACTION
ON DELETE CASCADE, ON DELETE CASCADE,
CONSTRAINT "Message_person_id_fkey" FOREIGN KEY (person_id) CONSTRAINT "Message_person_id_fkey" FOREIGN KEY (person_id)
REFERENCES public."Person" (id) MATCH SIMPLE REFERENCES "Person" (id) MATCH SIMPLE
ON UPDATE NO ACTION ON UPDATE NO ACTION
ON DELETE CASCADE, ON DELETE CASCADE,
CONSTRAINT "Message_sender_type_check" CHECK (sender_type::text = 'ORGANIZATION'::text OR sender_type::text = 'PERSON'::text), CONSTRAINT "Message_sender_type_check" CHECK (sender_type::text = 'ORGANIZATION'::text OR sender_type::text = 'PERSON'::text),
CONSTRAINT "Message_sender_constraint" CHECK (author_on_behalf_of_organization IS NULL AND sender_type::text = 'PERSON'::text OR author_on_behalf_of_organization IS NOT NULL AND sender_type::text = 'ORGANIZATION'::text) CONSTRAINT "Message_sender_constraint" CHECK (author_on_behalf_of_organization IS NULL AND sender_type::text = 'PERSON'::text OR author_on_behalf_of_organization IS NOT NULL AND sender_type::text = 'ORGANIZATION'::text)
) )
TABLESPACE pg_default; COMMENT ON COLUMN "Message".sender_type
ALTER TABLE IF EXISTS public."Message"
OWNER to postgres;
COMMENT ON COLUMN public."Message".sender_type
IS 'sender_type can be either be PERSON or ORGANIZATION, depending who''s sending the message. It is PERSON if and only if author_on_behalf_of_organization is NULL. It is ORGANIZATION if and only if author_on_behalf_of_organization is NOT NULL. This column may seem redundant if we already know how to identify a sender, but it does give more clarity to the API implementers'; IS 'sender_type can be either be PERSON or ORGANIZATION, depending who''s sending the message. It is PERSON if and only if author_on_behalf_of_organization is NULL. It is ORGANIZATION if and only if author_on_behalf_of_organization is NOT NULL. This column may seem redundant if we already know how to identify a sender, but it does give more clarity to the API implementers';
COMMENT ON CONSTRAINT "Message_sender_type_check" ON public."Message" COMMENT ON CONSTRAINT "Message_sender_type_check" ON "Message"
IS 'We want the sender to be either PERSON or ORGANIZATION'; IS 'We want the sender to be either PERSON or ORGANIZATION';
COMMENT ON CONSTRAINT "Message_sender_constraint" ON public."Message" COMMENT ON CONSTRAINT "Message_sender_constraint" ON "Message"
IS 'If ''author_on_behalf_of_organization'' is NULL, then the sender is a person, instead, if ''author_on_behalf_of_organization'' is not NULL, the sender is a organization'; IS 'If ''author_on_behalf_of_organization'' is NULL, then the sender is a person, instead, if ''author_on_behalf_of_organization'' is not NULL, the sender is a organization';

View File

@ -1,15 +1,10 @@
-- Table: public.Tag -- Table: Tag
-- DROP TABLE IF EXISTS public."Tag"; -- DROP TABLE IF EXISTS "Tag";
CREATE TABLE IF NOT EXISTS public."Tag" CREATE TABLE IF NOT EXISTS "Tag"
( (
id SERIAL, id SERIAL,
tag character varying(256) NOT NULL, tag character varying(256) NOT NULL,
CONSTRAINT "Tag_pkey" PRIMARY KEY (id) CONSTRAINT "Tag_pkey" PRIMARY KEY (id)
) )
TABLESPACE pg_default;
ALTER TABLE IF EXISTS public."Tag"
OWNER to postgres;

View File

@ -1,8 +1,8 @@
-- Table: public.JobOffer -- Table: JobOffer
-- DROP TABLE IF EXISTS public."JobOffer"; -- DROP TABLE IF EXISTS "JobOffer";
CREATE TABLE IF NOT EXISTS public."JobOffer" CREATE TABLE IF NOT EXISTS "JobOffer"
( (
id SERIAL, id SERIAL,
title character varying(2048) NOT NULL, title character varying(2048) NOT NULL,
@ -15,13 +15,8 @@ CREATE TABLE IF NOT EXISTS public."JobOffer"
organization_id integer, organization_id integer,
CONSTRAINT "JobOffer_pkey" PRIMARY KEY (id), CONSTRAINT "JobOffer_pkey" PRIMARY KEY (id),
CONSTRAINT "OrganizationFK" FOREIGN KEY (organization_id) CONSTRAINT "OrganizationFK" FOREIGN KEY (organization_id)
REFERENCES public."Organization" (id) MATCH SIMPLE REFERENCES "Organization" (id) MATCH SIMPLE
ON UPDATE CASCADE ON UPDATE CASCADE
ON DELETE CASCADE ON DELETE CASCADE
NOT VALID NOT VALID
) )
TABLESPACE pg_default;
ALTER TABLE IF EXISTS public."JobOffer"
OWNER to postgres;

View File

@ -1,25 +1,20 @@
-- Table: public.JobOfferTag -- Table: JobOfferTag
-- This table allows to create a N-to-N map between Tag and JobOffer -- This table allows to create a N-to-N map between Tag and JobOffer
-- DROP TABLE IF EXISTS public."JobOfferTag"; -- DROP TABLE IF EXISTS "JobOfferTag";
CREATE TABLE IF NOT EXISTS public."JobOfferTag" CREATE TABLE IF NOT EXISTS "JobOfferTag"
( (
id serial, id serial,
job_offer_id integer NOT NULL, job_offer_id integer NOT NULL,
tag_id integer NOT NULL, tag_id integer NOT NULL,
CONSTRAINT "JobOfferTag_pkey" PRIMARY KEY (id), CONSTRAINT "JobOfferTag_pkey" PRIMARY KEY (id),
CONSTRAINT "JobOfferFk" FOREIGN KEY (job_offer_id) CONSTRAINT "JobOfferFk" FOREIGN KEY (job_offer_id)
REFERENCES public."JobOffer" (id) MATCH SIMPLE REFERENCES "JobOffer" (id) MATCH SIMPLE
ON UPDATE CASCADE ON UPDATE CASCADE
ON DELETE CASCADE, ON DELETE CASCADE,
CONSTRAINT "TagFk" FOREIGN KEY (tag_id) CONSTRAINT "TagFk" FOREIGN KEY (tag_id)
REFERENCES public."Tag" (id) MATCH SIMPLE REFERENCES "Tag" (id) MATCH SIMPLE
ON UPDATE CASCADE ON UPDATE CASCADE
ON DELETE CASCADE ON DELETE CASCADE
) )
TABLESPACE pg_default;
ALTER TABLE IF EXISTS public."JobOfferTag"
OWNER to postgres;