From: Eric Bollengier Date: Thu, 31 May 2007 11:59:01 +0000 (+0000) Subject: ebl Add postgresql/mysql table creation X-Git-Tag: Release-2.2.0~343 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=043bf41bae263b821ea763a086b6d9b1a57fb4ef;p=bacula%2Fbacula ebl Add postgresql/mysql table creation git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@4951 91ce42f0-d328-0410-95d8-f526ca767f89 --- diff --git a/gui/bweb/script/bweb_group.sql b/gui/bweb/script/bweb_group.sql new file mode 100644 index 0000000000..bf5954183b --- /dev/null +++ b/gui/bweb/script/bweb_group.sql @@ -0,0 +1,77 @@ +-- Manage Client groups in bweb +-- Works with postgresql and mysql5 + +CREATE TABLE client_group +( + client_group_id serial not null, + client_group_name text not null, + primary key (client_group_id) +); + +CREATE UNIQUE INDEX client_group_idx on client_group (client_group_name(255)); + +CREATE TABLE client_group_member +( + client_group_id integer not null, + clientid integer not null, + primary key (client_group_id, clientid) +); + +CREATE INDEX client_group_member_idx on client_group_member (client_group_id); + + +-- -- creer un nouveau group +-- +-- INSERT INTO client_group (client_group_name) VALUES ('SIGMA'); +-- +-- -- affecter une machine a un group +-- +-- INSERT INTO client_group_member (client_group_id, clientid) +-- (SELECT client_group_id, +-- (SELECT Clientid FROM Client WHERE Name = 'slps0003-fd') +-- FROM client_group +-- WHERE client_group_name IN ('SIGMA', 'EXPLOITATION', 'MUTUALISE')); +-- +-- +-- -- modifier l'affectation d'une machine +-- +-- DELETE FROM client_group_member +-- WHERE clientid = (SELECT ClientId FROM Client WHERE Name = 'slps0003-fd') +-- +-- -- supprimer un groupe +-- +-- DELETE FROM client_group_member +-- WHERE client_group_id = (SELECT client_group_id FROM client_group WHERE client_group_name = 'EXPLOIT') +-- +-- +-- -- afficher tous les clients du group SIGMA +-- +-- SELECT Name FROM Client JOIN client_group_member using (clientid) +-- JOIN client_group using (client_group_id) +-- WHERE client_group_name = 'SIGMA'; +-- +-- -- afficher tous les groups +-- +-- SELECT client_group_name FROM client_group ORDER BY client_group_name; +-- +-- -- afficher tous les job du group SIGMA hier +-- +-- SELECT JobId, Job.Name, Client.Name, JobStatus, JobErrors +-- FROM Job JOIN Client USING(ClientId) +-- JOIN client_group_member USING (ClientId) +-- JOIN client_group USING (client_group_id) +-- WHERE client_group_name = 'SIGMA' +-- AND Job.StartTime > '2007-03-20'; +-- +-- -- donne des stats +-- +-- SELECT count(1) AS nb, sum(JobFiles) AS files, +-- sum(JobBytes) AS size, sum(JobErrors) AS joberrors, +-- JobStatus AS jobstatus, client_group_name +-- FROM Job JOIN Client USING(ClientId) +-- JOIN client_group_member USING (ClientId) +-- JOIN client_group USING (client_group_id) +-- WHERE Job.StartTime > '2007-03-20' +-- GROUP BY JobStatus, client_group_name +-- +--