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