]> git.sur5r.net Git - bacula/bacula/blob - gui/bweb/script/upgrade-2.2_3.0_postgresql.sql
ebl Add add_media
[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 CREATE TABLE bweb_user
26 (
27         userid       serial not null,
28         username     text not null,
29         use_acl      boolean default false,
30         enabled      boolean default true,
31         comment      text default '',
32         passwd       text default '',
33         primary key (userid)
34 );
35 CREATE UNIQUE INDEX bweb_user_idx on bweb_user (username);
36
37 CREATE TABLE bweb_role
38 (
39         roleid       serial not null,
40         rolename     text not null,
41 --      comment      text default '',
42         primary key (roleid)
43 );
44 CREATE UNIQUE INDEX bweb_role_idx on bweb_role (rolename);
45
46 INSERT INTO bweb_role (rolename) VALUES ('r_user_mgnt');
47 INSERT INTO bweb_role (rolename) VALUES ('r_group_mgnt');
48 INSERT INTO bweb_role (rolename) VALUES ('r_configure');
49
50 INSERT INTO bweb_role (rolename) VALUES ('r_autochanger_mgnt');
51 INSERT INTO bweb_role (rolename) VALUES ('r_location_mgnt');
52 INSERT INTO bweb_role (rolename) VALUES ('r_delete_job');
53 INSERT INTO bweb_role (rolename) VALUES ('r_prune');
54 INSERT INTO bweb_role (rolename) VALUES ('r_purge');
55
56 INSERT INTO bweb_role (rolename) VALUES ('r_view_job');
57 INSERT INTO bweb_role (rolename) VALUES ('r_view_stat');
58 INSERT INTO bweb_role (rolename) VALUES ('r_view_media');
59
60 INSERT INTO bweb_role (rolename) VALUES ('r_run_job');
61 INSERT INTO bweb_role (rolename) VALUES ('r_cancel_job');
62 INSERT INTO bweb_role (rolename) VALUES ('r_client_status');
63
64 CREATE TABLE  bweb_role_member
65 (
66         roleid       integer not null,
67         userid       integer not null,
68         primary key (roleid, userid)
69 );
70
71 CREATE TABLE  bweb_client_group_acl
72 (
73         client_group_id       integer not null,
74         userid                integer not null,
75         primary key (client_group_id, userid)
76 );
77 COMMIT;