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

Revision 2622, 2.6 kB (checked in by jerome, 19 years ago)

Added 2006 to the copyright's years.

  • 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, 2005, 2006 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18--
19-- $Id$
20--
21--
22--
23-- This script has to be used if you already
24-- have a pre-1.16 version of PyKota to upgrade
25-- your database schema.
26--
27-- YOU DON'T NEED TO USE IT IF YOU'VE JUST INSTALLED PYKOTA
28--
29                       
30--                         
31-- WARNING : YOU NEED A RECENT VERSION OF POSTGRESQL FOR THE ALTER COLUMN STATEMENT TO WORK !
32--
33
34--                         
35-- Modify the old database schema
36--
37ALTER TABLE jobhistory ADD COLUMN jobprice FLOAT;
38ALTER TABLE jobhistory ADD COLUMN filename TEXT;
39ALTER TABLE jobhistory ADD COLUMN title TEXT;
40ALTER TABLE jobhistory ADD COLUMN copies INT4;
41ALTER TABLE jobhistory ADD COLUMN options TEXT;
42
43--
44-- Remove bad integrity rules
45-- and replace them with a new one
46--
47ALTER TABLE jobhistory DROP CONSTRAINT "$1";
48ALTER TABLE jobhistory DROP CONSTRAINT "$2";
49ALTER TABLE jobhistory ADD CONSTRAINT checkUserPQuota FOREIGN KEY (userid, printerid) REFERENCES userpquota (userid, printerid);
50
51--
52-- Add new tables
53--
54--                         
55-- Create the printer groups relationship
56--
57CREATE TABLE printergroupsmembers(groupid INT4 REFERENCES printers(id),
58                           printerid INT4 REFERENCES printers(id),
59                           PRIMARY KEY (groupid, printerid));
60
61--                         
62-- Now add some indexes
63--
64CREATE UNIQUE INDEX userpquota_up_id_ix ON userpquota (userid, printerid);
65CREATE INDEX jobhistory_p_id_ix ON jobhistory (printerid);
66CREATE INDEX jobhistory_pd_id_ix ON jobhistory (printerid, jobdate);
67CREATE UNIQUE INDEX grouppquota_up_id_ix ON grouppquota (groupid, printerid);
68
69--
70-- And now sets some ACLs
71--
72REVOKE ALL ON printergroupsmembers FROM public;                       
73GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES ON printergroupsmembers TO pykotaadmin;
74GRANT SELECT ON printergroupsmembers TO pykotauser;
Note: See TracBrowser for help on using the browser.