HSAdmin Backend Domains, E-Mail, Datenbanken
Peter Hormanns
2014-10-14 91bafeadabf7604e703cfa9d9fcee4d436583b95
commit | author | age
91bafe 1 CREATE SEQUENCE sepa_mandat_id_seq
PH 2     INCREMENT BY 1
3     NO MAXVALUE
4     NO MINVALUE
5     CACHE 1;
6
7 CREATE TABLE sepa_mandat (
8     sepa_mandat_id integer DEFAULT nextval(('"sepa_mandat_id_seq"'::text)::regclass) NOT NULL,
9     bp_id integer NOT NULL,
10     bank_customer character varying(50) NOT NULL,
11     bank_name character varying(50),
12     bank_iban character varying(40) NOT NULL,
13     bank_bic character varying(40) NOT NULL,
14     mandat_ref character varying(40) NOT NULL,
15     mandat_signed date NOT NULL,
16     mandat_since date NOT NULL,
17     mandat_used date,
18     mandat_until date
19 );
20
21 INSERT INTO sepa_mandat (bp_id, bank_customer, bank_name, bank_iban, bank_bic, mandat_ref, mandat_signed, mandat_since, mandat_used, mandat_until)
22     (SELECT bp_id, bank_customer, bank_name, bank_iban, bank_bic, mandat_ref, mandat_signed, mandat_since, mandat_used, mandat_until FROM bank_account);
23
24 ALTER TABLE ONLY sepa_mandat
25     ADD CONSTRAINT pk_sepa_mandat PRIMARY KEY (sepa_mandat_id);
26
27 ALTER TABLE ONLY sepa_mandat
28     ADD CONSTRAINT dateschk1 CHECK (mandat_signed <= mandat_since AND mandat_since <= mandat_until);
29
30 ALTER TABLE ONLY sepa_mandat
31     ADD CONSTRAINT dateschk2 CHECK (mandat_since <= mandat_until AND mandat_since <= mandat_used AND mandat_used <= mandat_until);
32
33 ALTER TABLE ONLY sepa_mandat
34     ADD CONSTRAINT fk_bank_acc_reference_business FOREIGN KEY (bp_id) REFERENCES business_partner(bp_id) ON UPDATE RESTRICT ON DELETE RESTRICT;
35
36 DROP TABLE bank_account;
37
38 ALTER TABLE price_list
39     ADD CONSTRAINT price_list_uniq_name UNIQUE (name);
40     
41 CREATE TABLE pricelist_ref (
42     bp_id integer NOT NULL,
43     price_list character varying(40) NOT NULL
44 );
45
46 INSERT INTO pricelist_ref (bp_id, price_list)
47     ( SELECT customer, name FROM customer_price_list_mapping, price_list WHERE id = price_list );
48
49 ALTER TABLE ONLY pricelist_ref
50     ADD CONSTRAINT fk_pricelist_ref_bp FOREIGN KEY (bp_id) REFERENCES business_partner(bp_id) ON UPDATE RESTRICT ON DELETE CASCADE;
51     
52 ALTER TABLE ONLY pricelist_ref
53     ADD CONSTRAINT fk_pricelist_ref_pricelist FOREIGN KEY (price_list) REFERENCES price_list(name) ON UPDATE RESTRICT ON DELETE CASCADE;
54     
55 DROP TABLE customer_price_list_mapping;
56     
57 ALTER TABLE contact DROP COLUMN business_contact;
58
59 ALTER TABLE contact DROP COLUMN technical_contact;
60
61 CREATE TABLE contactrole_ref (
62     contact_id integer NOT NULL,
63     role character varying(40) NOT NULL
64 );
65
66 ALTER TABLE ONLY contactrole_ref
67     ADD CONSTRAINT pk_contactrole_ref PRIMARY KEY (contact_id, role);
68     
69 CREATE TABLE role ( 
70     role_name character varying(40) NOT NULL
71 );
72
73 ALTER TABLE ONLY role
74     ADD CONSTRAINT pk_role PRIMARY KEY (role_name);
75
76 INSERT INTO role VALUES ('billing'), ('operations');
77
78 ALTER TABLE ONLY contactrole_ref
79     ADD CONSTRAINT fk_contactrole_ref_role FOREIGN KEY (role) REFERENCES role(role_name);
80
81 ALTER TABLE ONLY contactrole_ref
82     ADD CONSTRAINT fk_contactrole_ref_contact FOREIGN KEY (contact_id) REFERENCES contact(contact_id);
83     
84 INSERT INTO contactrole_ref (contact_id, role) 
85     ( SELECT contact_id, 'billing' FROM contact );
86     
87 INSERT INTO contactrole_ref (contact_id, role) 
88     ( SELECT contact_id, 'operations' FROM contact );
89