]> git.sur5r.net Git - bacula/bacula/blob - gui/bweb/script/upgrade-2.2_3.0_postgresql.sql
bweb: update location title
[bacula/bacula] / gui / bweb / script / upgrade-2.2_3.0_postgresql.sql
1 -- --------------------------------------------------
2 -- Upgrade from 2.2
3 -- --------------------------------------------------
4
5 CREATE FUNCTION concat (text, text) RETURNS text AS '
6 DECLARE
7 result text;
8 BEGIN
9 IF $1 is not null THEN
10 result := $1 || $2;
11 END IF;
12
13 RETURN result;
14 END;
15 ' LANGUAGE plpgsql;
16
17 CREATE AGGREGATE group_concat(
18 sfunc = concat,
19 basetype = text,
20 stype = text,
21 initcond = ''
22 );
23
24 BEGIN;
25
26 ALTER TABLE client_group ADD COLUMN comment text;
27
28 CREATE TABLE bweb_user
29 (
30         userid       serial not null,
31         username     text not null,
32         use_acl      boolean default false,
33         enabled      boolean default true,
34         comment      text default '',
35         passwd       text default '',
36         primary key (userid)
37 );
38 CREATE UNIQUE INDEX bweb_user_idx on bweb_user (username);
39
40 CREATE TABLE bweb_role
41 (
42         roleid       serial not null,
43         rolename     text not null,
44         comment      text default '',
45         primary key (roleid)
46 );
47 CREATE UNIQUE INDEX bweb_role_idx on bweb_role (rolename);
48
49 INSERT INTO bweb_role (rolename) VALUES ('r_user_mgnt');
50 INSERT INTO bweb_role (rolename) VALUES ('r_group_mgnt');
51 INSERT INTO bweb_role (rolename) VALUES ('r_configure');
52
53 INSERT INTO bweb_role (rolename) VALUES ('r_autochanger_mgnt');
54 INSERT INTO bweb_role (rolename) VALUES ('r_location_mgnt');
55 INSERT INTO bweb_role (rolename) VALUES ('r_delete_job');
56 INSERT INTO bweb_role (rolename) VALUES ('r_prune');
57 INSERT INTO bweb_role (rolename) VALUES ('r_purge');
58
59 INSERT INTO bweb_role (rolename) VALUES ('r_view_job');
60 INSERT INTO bweb_role (rolename) VALUES ('r_view_stat');
61 INSERT INTO bweb_role (rolename) VALUES ('r_view_media');
62
63 INSERT INTO bweb_role (rolename) VALUES ('r_run_job');
64 INSERT INTO bweb_role (rolename) VALUES ('r_cancel_job');
65 INSERT INTO bweb_role (rolename) VALUES ('r_client_status');
66
67 CREATE TABLE  bweb_role_member
68 (
69         roleid       integer not null,
70         userid       integer not null,
71         primary key (roleid, userid)
72 );
73
74 CREATE TABLE  bweb_client_group_acl
75 (
76         client_group_id       integer not null,
77         userid                integer not null,
78         primary key (client_group_id, userid)
79 );
80 COMMIT;