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

Create Table

parent 74c2b34f
Branches
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