HSAdmin Backend Domains, E-Mail, Datenbanken
Peter Hormanns
2013-04-30 89493989c124c24cc6f22de978eef0df72800e23
commit | author | age
34af93 1 -- INSERT INTO domain__domain_option 
PH 2 --     SELECT domain_option_id, domain_id FROM domain
3 --         JOIN unixuser on ( domain.domain_owner = unixuser.unixuser_id ) 
4 --         JOIN packet on ( unixuser.packet_id = packet.packet_id ) 
5 --         JOIN basepacket on ( packet.bp_id = basepacket.basepacket_id ), domain_option
f602b2 6 --         WHERE basepacket.basepacket_code = 'PAC/DW'  
34af93 7 --             AND domain_option.domain_option_name = 'php' ;
PH 8                 
9 -- DELETE FROM domain__domain_option 
10 --     USING domain_option, domain
11 --         JOIN unixuser on ( domain.domain_owner = unixuser.unixuser_id ) 
12 --         JOIN packet on ( unixuser.packet_id = packet.packet_id ) 
13 --         JOIN basepacket on ( packet.bp_id = basepacket.basepacket_id )
f602b2 14 --         WHERE basepacket.basepacket_code != 'PAC/DW'
34af93 15 --             AND domain__domain_option.domain_option_id = domain_option.domain_option_id
PH 16 --             AND domain_option.domain_option_name = 'php' ;
78a525 17
MH 18 --- Updates related to HSBilling
19
34af93 20 UPDATE bank_account SET autodebit_ar = false WHERE autodebit_ar IS NULL;
PH 21 ALTER TABLE bank_account ALTER COLUMN autodebit_ar SET NOT NULL;
78a525 22
34af93 23 UPDATE bank_account SET autodebit_ga = false WHERE autodebit_ga IS NULL;
PH 24 ALTER TABLE bank_account ALTER COLUMN autodebit_ga SET NOT NULL;
78a525 25
34af93 26 UPDATE bank_account SET autodebit_op = false WHERE autodebit_op IS NULL;
PH 27 ALTER TABLE bank_account ALTER COLUMN autodebit_op SET NOT NULL;
78a525 28
894939 29 ALTER TABLE business_partner ADD COLUMN free boolean NOT NULL DEFAULT false;
PH 30 ALTER TABLE business_partner ADD COLUMN indicator_vat character varying(20) NOT NULL DEFAULT 'GROSS';
31 ALTER TABLE business_partner ADD COLUMN exempt_vat boolean NOT NULL DEFAULT false;
32 ALTER TABLE business_partner ADD UNIQUE(bp_id);
33  
34 DROP TABLE billdata CASCADE;
35
36 ALTER TABLE basepacket ADD COLUMN article_number integer NOT NULL DEFAULT 0;
34af93 37 ALTER TABLE basepacket ALTER COLUMN article_number DROP DEFAULT;
78a525 38
894939 39 ALTER TABLE component ADD COLUMN article_number integer NOT NULL DEFAULT 0;
34af93 40 ALTER TABLE component ALTER COLUMN article_number DROP DEFAULT;
894939 41 ALTER TABLE component DROP CONSTRAINT ckt_component;
PH 42 ALTER TABLE component 
43     ADD CONSTRAINT ckt_component CHECK (
44         (0 <= min_quantity) AND 
45         (min_quantity <= default_quantity) AND 
46         (default_quantity <= max_quantity) AND 
47         (include_quantity <= default_quantity) AND 
48         (0 <= include_quantity) AND 
49         (mod(min_quantity, increment_quantity) = 0) AND 
50         (mod(max_quantity, increment_quantity) = 0) AND 
51         (mod(default_quantity, increment_quantity) = 0) AND 
52         (mod(include_quantity, increment_quantity) = 0)
53     );
54
55 ALTER TABLE packet DROP COLUMN order_number;
56 ALTER TABLE packet DROP COLUMN webserver_group;
57
58 ALTER TABLE domain DROP COLUMN domain_status;
59 ALTER TABLE domain DROP COLUMN domain_status_changed;
60 ALTER TABLE domain DROP COLUMN domain_filed;
61 ALTER TABLE domain DROP COLUMN domain_until;
62 ALTER TABLE domain DROP COLUMN domain_reminder;
63 ALTER TABLE domain DROP COLUMN domain_free;
64 ALTER TABLE domain DROP COLUMN domain_template;
78a525 65
34af93 66 CREATE TABLE price_list (
PH 67   id serial PRIMARY KEY,                                                                   
78a525 68   name varchar(20)
MH 69 );       
34af93 70 INSERT INTO price_list (name) VALUES ('Default Price List');
78a525 71
34af93 72 CREATE TABLE customer_price_list_mapping (
PH 73     customer integer REFERENCES business_partner(bp_id),
74     price_list integer REFERENCES price_list(id),
75     PRIMARY KEY (customer, price_list)
78a525 76 );
894939 77 INSERT INTO customer_price_list_mapping 
PH 78     (SELECT bp_id, (SELECT id FROM price_list WHERE name LIKE 'Default%') FROM business_partner);
78a525 79
34af93 80 CREATE TABLE price (                                                                
PH 81     id serial PRIMARY KEY,
82     article_number integer NOT NULL,
83     price decimal(10, 2) NOT NULL,
84     vat decimal(4,2) NOT NULL,
85     price_list integer REFERENCES price_list(id)                                             
78a525 86 );
894939 87 INSERT INTO price (article_number, price, vat, price_list) 
PH 88     VALUES (0, 0, 0, (SELECT id FROM price_list WHERE name LIKE 'Default%')); 
78a525 89