Skip to content
Snippets Groups Projects
Commit c02a6995 authored by wohlgemu's avatar wohlgemu
Browse files

Create Table

parent 74c2b34f
No related branches found
No related tags found
No related merge requests found
-- Table: public.finance_request
-- DROP TABLE IF EXISTS public.finance_request;
CREATE TABLE IF NOT EXISTS public.finance_request
(
oa_id character varying(17) COLLATE pg_catalog."default" NOT NULL,
ts_form timestamp without time zone NOT NULL DEFAULT now(),
ticket_number character varying(17) COLLATE pg_catalog."default",
decision character varying(1) COLLATE pg_catalog."default" NOT NULL,
reason_denied character varying(100) COLLATE pg_catalog."default",
date_approved date,
comment_postpayment_check character varying(250) COLLATE pg_catalog."default",
report character varying(40) COLLATE pg_catalog."default",
processing_status character varying(50) COLLATE pg_catalog."default",
processing_comment text COLLATE pg_catalog."default",
first_name character varying(40) COLLATE pg_catalog."default" NOT NULL,
family_name character varying(40) COLLATE pg_catalog."default" NOT NULL,
orcid character varying(19) COLLATE pg_catalog."default",
dfg_number character varying(200) COLLATE pg_catalog."default",
school character varying(50) COLLATE pg_catalog."default" NOT NULL,
faculty character varying(50) COLLATE pg_catalog."default",
department character varying(70) COLLATE pg_catalog."default",
institute character varying(150) COLLATE pg_catalog."default",
center character varying(150) COLLATE pg_catalog."default",
chair character varying(150) COLLATE pg_catalog."default",
workgroup character varying(150) COLLATE pg_catalog."default",
publisher character varying(150) COLLATE pg_catalog."default" NOT NULL,
journal character varying(150) COLLATE pg_catalog."default" NOT NULL,
eissn character varying(9) COLLATE pg_catalog."default" DEFAULT 'XXXX-XXXX'::character varying,
title character varying(400) COLLATE pg_catalog."default" NOT NULL,
article_type character varying(40) COLLATE pg_catalog."default",
manuskript_id character varying(100) COLLATE pg_catalog."default",
doi character varying(100) COLLATE pg_catalog."default",
date_submitting date,
date_acceptance date,
date_publishing date,
license character varying(16) COLLATE pg_catalog."default",
media_type character varying(12) COLLATE pg_catalog."default" NOT NULL,
issuer character varying(30) COLLATE pg_catalog."default" DEFAULT SESSION_USER,
issuer_update character varying(30) COLLATE pg_catalog."default" DEFAULT SESSION_USER,
institution character varying(70) COLLATE pg_catalog."default" DEFAULT 'TU Dresden'::character varying,
research_article character varying(1) COLLATE pg_catalog."default" NOT NULL DEFAULT 'o'::character varying,
postpayment_check character varying(1) COLLATE pg_catalog."default" NOT NULL DEFAULT 'o'::character varying,
CONSTRAINT finance_request_pkey PRIMARY KEY (oa_id),
CONSTRAINT value_check_research_article1 CHECK (research_article::text = ANY (ARRAY['y'::character varying, 'n'::character varying, 'o'::character varying]::text[])),
CONSTRAINT value_check_postpayment_check1 CHECK (postpayment_check::text = ANY (ARRAY['y'::character varying, 'n'::character varying, 'o'::character varying]::text[])),
CONSTRAINT value_check_decision CHECK (decision::text = ANY (ARRAY['y'::character varying, 'n'::character varying, 'o'::character varying]::text[])),
CONSTRAINT blank_check_institution CHECK (btrim(institution::text) = institution::text),
CONSTRAINT blank_check_oa_id CHECK (ltrim(oa_id::text) = oa_id::text AND rtrim(oa_id::text) = oa_id::text),
CONSTRAINT blank_check_ticket_number CHECK (ltrim(ticket_number::text) = ticket_number::text AND rtrim(ticket_number::text) = ticket_number::text),
CONSTRAINT blank_check_first_name CHECK (ltrim(first_name::text) = first_name::text AND rtrim(first_name::text) = first_name::text),
CONSTRAINT blank_check_family_name CHECK (ltrim(family_name::text) = family_name::text AND rtrim(family_name::text) = family_name::text),
CONSTRAINT blank_check_orcid CHECK (ltrim(orcid::text) = orcid::text AND rtrim(orcid::text) = orcid::text),
CONSTRAINT blank_check_school CHECK (ltrim(school::text) = school::text AND rtrim(school::text) = school::text),
CONSTRAINT blank_check_faculty CHECK (ltrim(faculty::text) = faculty::text AND rtrim(faculty::text) = faculty::text),
CONSTRAINT blank_check_department CHECK (ltrim(department::text) = department::text AND rtrim(department::text) = department::text),
CONSTRAINT blank_check_institute CHECK (ltrim(institute::text) = institute::text AND rtrim(institute::text) = institute::text),
CONSTRAINT blank_check_center CHECK (ltrim(center::text) = center::text AND rtrim(center::text) = center::text),
CONSTRAINT blank_check_chair CHECK (ltrim(chair::text) = chair::text AND rtrim(chair::text) = chair::text),
CONSTRAINT blank_check_workgroup CHECK (ltrim(workgroup::text) = workgroup::text AND rtrim(workgroup::text) = workgroup::text),
CONSTRAINT blank_check_publisher CHECK (ltrim(publisher::text) = publisher::text AND rtrim(publisher::text) = publisher::text),
CONSTRAINT blank_check_journal CHECK (ltrim(journal::text) = journal::text AND rtrim(journal::text) = journal::text),
CONSTRAINT blank_check_title CHECK (ltrim(title::text) = title::text AND rtrim(title::text) = title::text),
CONSTRAINT blank_check_article_type CHECK (ltrim(article_type::text) = article_type::text AND rtrim(article_type::text) = article_type::text),
CONSTRAINT blank_check_manuskript_id CHECK (ltrim(manuskript_id::text) = manuskript_id::text AND rtrim(manuskript_id::text) = manuskript_id::text),
CONSTRAINT blank_check_doi CHECK (ltrim(doi::text) = doi::text AND rtrim(doi::text) = doi::text),
CONSTRAINT blank_check_license CHECK (ltrim(license::text) = license::text AND rtrim(license::text) = license::text),
CONSTRAINT blank_check_media_type CHECK (ltrim(media_type::text) = media_type::text AND rtrim(media_type::text) = media_type::text)
)
WITH (
OIDS = FALSE
)
TABLESPACE pg_default;
-- Index: idx_finance_request_doi
-- DROP INDEX IF EXISTS public.idx_finance_request_doi;
CREATE INDEX IF NOT EXISTS idx_finance_request_doi
ON public.finance_request USING btree
(doi COLLATE pg_catalog."default" ASC NULLS LAST)
TABLESPACE pg_default;
-- Trigger: update_issuer_request
-- DROP TRIGGER IF EXISTS update_issuer_request ON public.finance_request;
CREATE TRIGGER update_issuer_request
BEFORE UPDATE
ON public.finance_request
FOR EACH ROW
EXECUTE FUNCTION public.update_issuer();
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
CREATE TABLE IF NOT EXISTS public.finance_cost
(
ts_form timestamp without time zone NOT NULL DEFAULT now(),
pk_cost integer NOT NULL GENERATED ALWAYS AS IDENTITY ( INCREMENT 1 START 1 MINVALUE 1 MAXVALUE 2147483647 CACHE 1 ),
oa_id character varying(17) COLLATE pg_catalog."default",
invoice_number character varying(100) COLLATE pg_catalog."default",
budget_id character varying(20) COLLATE pg_catalog."default" DEFAULT 'TUD_EL_2023'::character varying,
cost_type character varying(100) COLLATE pg_catalog."default",
contract_type character varying(50) COLLATE pg_catalog."default",
amount_net numeric(8,2),
currency character varying(3) COLLATE pg_catalog."default",
amount_euro_net numeric(8,2),
vat_percent numeric(3,2) DEFAULT 1.19,
amount_payment_brut numeric(8,2),
comment_cost character varying(250) COLLATE pg_catalog."default",
issuer character varying(30) COLLATE pg_catalog."default" DEFAULT SESSION_USER,
issuer_update character varying(30) COLLATE pg_catalog."default" DEFAULT SESSION_USER,
CONSTRAINT finance_cost_pkey PRIMARY KEY (pk_cost),
CONSTRAINT blank_check_oa_id CHECK (ltrim(oa_id::text) = oa_id::text AND rtrim(oa_id::text) = oa_id::text),
CONSTRAINT blank_check_invoice_number CHECK (ltrim(invoice_number::text) = invoice_number::text AND rtrim(invoice_number::text) = invoice_number::text),
CONSTRAINT blank_check_budget_id CHECK (ltrim(budget_id::text) = budget_id::text AND rtrim(budget_id::text) = budget_id::text),
CONSTRAINT blank_check_cost_type CHECK (ltrim(cost_type::text) = cost_type::text AND rtrim(cost_type::text) = cost_type::text),
CONSTRAINT blank_check_contract_type CHECK (ltrim(contract_type::text) = contract_type::text AND rtrim(contract_type::text) = contract_type::text),
CONSTRAINT blank_check_currency CHECK (ltrim(currency::text) = currency::text AND rtrim(currency::text) = currency::text)
)
WITH (
OIDS = FALSE
)
TABLESPACE pg_default;
-- Trigger: update_issuer_cost
-- DROP TRIGGER IF EXISTS update_issuer_cost ON public.finance_cost;
CREATE TRIGGER update_issuer_cost
BEFORE UPDATE
ON public.finance_cost
FOR EACH ROW
EXECUTE FUNCTION public.update_issuer();
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
-- Table: public.finance_invoice
-- DROP TABLE IF EXISTS public.finance_invoice;
CREATE TABLE IF NOT EXISTS public.finance_invoice
(
ts_form timestamp without time zone NOT NULL DEFAULT now(),
invoice_number character varying(100) COLLATE pg_catalog."default" NOT NULL,
ticket_number character varying(17) COLLATE pg_catalog."default",
publisher character varying(150) COLLATE pg_catalog."default" NOT NULL,
date_invoice_due date,
date_invoice_receipt date,
date_factually_accurate date,
date_hauptkasse date,
comment_invoice character varying(100) COLLATE pg_catalog."default",
issuer character varying(30) COLLATE pg_catalog."default" DEFAULT SESSION_USER,
issuer_update character varying(30) COLLATE pg_catalog."default" DEFAULT SESSION_USER,
CONSTRAINT finance_invoice_pkey PRIMARY KEY (invoice_number),
CONSTRAINT blank_check_invoice_number CHECK (ltrim(invoice_number::text) = invoice_number::text AND rtrim(invoice_number::text) = invoice_number::text),
CONSTRAINT blank_check_publisher CHECK (ltrim(publisher::text) = publisher::text AND rtrim(publisher::text) = publisher::text),
CONSTRAINT blank_check_ticket_number CHECK (ltrim(ticket_number::text) = ticket_number::text AND rtrim(ticket_number::text) = ticket_number::text)
)
WITH (
OIDS = FALSE
)
TABLESPACE pg_default;
-- Trigger: update_issuer_invoice
-- DROP TRIGGER IF EXISTS update_issuer_invoice ON public.finance_invoice;
CREATE TRIGGER update_issuer_invoice
BEFORE UPDATE
ON public.finance_invoice
FOR EACH ROW
EXECUTE FUNCTION public.update_issuer();
--------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
-- Table: public.finance_budget
-- DROP TABLE IF EXISTS public.finance_budget;
CREATE TABLE IF NOT EXISTS public.finance_budget
(
ts_form timestamp without time zone NOT NULL DEFAULT now(),
budget_id character varying(20) COLLATE pg_catalog."default" NOT NULL,
amount_budget_brut numeric(9,2),
name_budget character varying(100) COLLATE pg_catalog."default",
budget_year integer,
kostenart character varying(20) COLLATE pg_catalog."default",
produkt character varying(20) COLLATE pg_catalog."default",
kostenstelle character varying(20) COLLATE pg_catalog."default",
titelgruppe character varying(20) COLLATE pg_catalog."default",
central_paying boolean,
budget_comment character varying(100) COLLATE pg_catalog."default",
issuer character varying(30) COLLATE pg_catalog."default" DEFAULT SESSION_USER,
issuer_update character varying(30) COLLATE pg_catalog."default" DEFAULT SESSION_USER,
CONSTRAINT finance_budget_pkey PRIMARY KEY (budget_id)
)
WITH (
OIDS = FALSE
)
TABLESPACE pg_default;
-- Trigger: update_issuer_budget
-- DROP TRIGGER IF EXISTS update_issuer_budget ON public.finance_budget;
CREATE TRIGGER update_issuer_budget
BEFORE UPDATE
ON public.finance_budget
FOR EACH ROW
EXECUTE FUNCTION public.update_issuer();
\ No newline at end of file
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment