root / pykota / trunk / initscripts / postgresql / upgrade-to-1.16.sql @ 1574

Revision 1257, 2.9 kB (checked in by jalet, 21 years ago)

Copyright year changed.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1--
2-- PyKota - Print Quotas for CUPS and LPRng
3--
4-- (c) 2003-2004 Jerome Alet <alet@librelogiciel.com>
5-- This program is free software; you can redistribute it and/or modify
6-- it under the terms of the GNU General Public License as published by
7-- the Free Software Foundation; either version 2 of the License, or
8-- (at your option) any later version.
9--
10-- This program is distributed in the hope that it will be useful,
11-- but WITHOUT ANY WARRANTY; without even the implied warranty of
12-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13-- GNU General Public License for more details.
14--
15-- You should have received a copy of the GNU General Public License
16-- along with this program; if not, write to the Free Software
17-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
18--
19-- $Id$
20--
21-- $Log$
22-- Revision 1.4  2004/01/08 14:10:32  jalet
23-- Copyright year changed.
24--
25-- Revision 1.3  2003/12/27 16:49:25  uid67467
26-- Should be ok now.
27--
28-- Revision 1.2  2003/11/23 19:01:36  jalet
29-- Job price added to history
30--
31-- Revision 1.1  2003/11/21 14:29:14  jalet
32-- Forgot to add this file...
33--
34--
35--
36-- This script has to be used if you already
37-- have a pre-1.16 version of PyKota to upgrade
38-- your database schema.
39--
40-- YOU DON'T NEED TO USE IT IF YOU'VE JUST INSTALLED PYKOTA
41--
42                       
43--                         
44-- WARNING : YOU NEED A RECENT VERSION OF POSTGRESQL FOR THE ALTER COLUMN STATEMENT TO WORK !
45--
46
47--                         
48-- Modify the old database schema
49--
50ALTER TABLE jobhistory ADD COLUMN jobprice FLOAT;
51ALTER TABLE jobhistory ADD COLUMN filename TEXT;
52ALTER TABLE jobhistory ADD COLUMN title TEXT;
53ALTER TABLE jobhistory ADD COLUMN copies INT4;
54ALTER TABLE jobhistory ADD COLUMN options TEXT;
55
56--
57-- Remove bad integrity rules
58-- and replace them with a new one
59--
60ALTER TABLE jobhistory DROP CONSTRAINT "$1";
61ALTER TABLE jobhistory DROP CONSTRAINT "$2";
62ALTER TABLE jobhistory ADD CONSTRAINT checkUserPQuota FOREIGN KEY (userid, printerid) REFERENCES userpquota (userid, printerid);
63
64--
65-- Add new tables
66--
67--                         
68-- Create the printer groups relationship
69--
70CREATE TABLE printergroupsmembers(groupid INT4 REFERENCES printers(id),
71                           printerid INT4 REFERENCES printers(id),
72                           PRIMARY KEY (groupid, printerid));
73
74--                         
75-- Now add some indexes
76--
77CREATE UNIQUE INDEX userpquota_up_id_ix ON userpquota (userid, printerid);
78CREATE INDEX jobhistory_p_id_ix ON jobhistory (printerid);
79CREATE INDEX jobhistory_pd_id_ix ON jobhistory (printerid, jobdate);
80CREATE UNIQUE INDEX grouppquota_up_id_ix ON grouppquota (groupid, printerid);
81
82--
83-- And now sets some ACLs
84--
85REVOKE ALL ON printergroupsmembers FROM public;                       
86GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES ON printergroupsmembers TO pykotaadmin;
87GRANT SELECT ON printergroupsmembers TO pykotauser;
Note: See TracBrowser for help on using the browser.