Uebernahme der kompletten Version, so wie sie Philip als "Demo-Version" gezeigt hat...
[kivitendo-erp.git] / sql / Pg-upgrade / Pg-upgrade-2.2.0.3-2.2.0.4.sql
1 CREATE TABLE units (
2   name varchar(20) NOT NULL,
3   base_unit varchar(20),
4   factor bigint,
5
6   PRIMARY KEY (name),
7   FOREIGN KEY (base_unit) REFERENCES units (name)
8 );
9
10 INSERT INTO units (name, base_unit, factor) VALUES ('mg', NULL, NULL);
11 INSERT INTO units (name, base_unit, factor) VALUES ('g', 'mg', 1000);
12 INSERT INTO units (name, base_unit, factor) VALUES ('kg', 'g', 1000);
13 INSERT INTO units (name, base_unit, factor) VALUES ('t', 'kg', 1000);
14 INSERT INTO units (name, base_unit, factor) VALUES ('ml', NULL, NULL);
15 INSERT INTO units (name, base_unit, factor) VALUES ('L', 'ml', 1000);
16 INSERT INTO units (name, base_unit, factor) VALUES ('Stck', NULL, NULL);
17 ALTER TABLE units ADD COLUMN active boolean;
18 UPDATE units SET active = 't';
19 ALTER TABLE units ALTER COLUMN active SET DEFAULT 't';
20 ALTER TABLE units ALTER COLUMN active SET NOT NULL;
21
22 ALTER TABLE units ADD COLUMN tmp numeric(20, 5);
23 UPDATE units SET tmp = factor;
24 ALTER TABLE units DROP COLUMN factor;
25 ALTER TABLE units RENAME tmp TO factor;
26
27 ALTER TABLE units ADD COLUMN type varchar(20);
28 UPDATE units SET type = 'dimension';
29 ALTER TABLE units ALTER COLUMN type SET NOT NULL;
30
31 -- Einheitennamen duerfen 20 Zeichen lang sein.
32
33 ALTER TABLE parts ADD COLUMN tmp varchar(20);
34 UPDATE parts SET tmp = unit;
35 ALTER TABLE parts DROP COLUMN unit;
36 ALTER TABLE parts RENAME tmp TO unit;
37
38 ALTER TABLE invoice ADD COLUMN tmp varchar(20);
39 UPDATE invoice SET tmp = unit;
40 ALTER TABLE invoice DROP COLUMN unit;
41 ALTER TABLE invoice RENAME tmp TO unit;
42
43 ALTER TABLE orderitems ADD COLUMN tmp varchar(20);
44 UPDATE orderitems SET tmp = unit;
45 ALTER TABLE orderitems DROP COLUMN unit;
46 ALTER TABLE orderitems RENAME tmp TO unit;
47
48 -- Spalte "active" wird nicht mehr benoetigt, weil Einheiten nicht mehr deaktiviert
49 -- werden koennen.
50
51 ALTER TABLE units DROP COLUMN active;
52