[1201] | 1 | -- |
---|
| 2 | -- PyKota - Print Quotas for CUPS and LPRng |
---|
| 3 | -- |
---|
| 4 | -- (c) 2003 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$ |
---|
[1240] | 22 | -- Revision 1.3 2003/12/27 16:49:25 uid67467 |
---|
| 23 | -- Should be ok now. |
---|
| 24 | -- |
---|
[1203] | 25 | -- Revision 1.2 2003/11/23 19:01:36 jalet |
---|
| 26 | -- Job price added to history |
---|
| 27 | -- |
---|
[1201] | 28 | -- Revision 1.1 2003/11/21 14:29:14 jalet |
---|
| 29 | -- Forgot to add this file... |
---|
| 30 | -- |
---|
| 31 | -- |
---|
| 32 | -- |
---|
| 33 | -- This script has to be used if you already |
---|
| 34 | -- have a pre-1.16 version of PyKota to upgrade |
---|
| 35 | -- your database schema. |
---|
| 36 | -- |
---|
| 37 | -- YOU DON'T NEED TO USE IT IF YOU'VE JUST INSTALLED PYKOTA |
---|
| 38 | -- |
---|
| 39 | |
---|
| 40 | -- |
---|
| 41 | -- WARNING : YOU NEED A RECENT VERSION OF POSTGRESQL FOR THE ALTER COLUMN STATEMENT TO WORK ! |
---|
| 42 | -- |
---|
| 43 | |
---|
| 44 | -- |
---|
| 45 | -- Modify the old database schema |
---|
| 46 | -- |
---|
[1203] | 47 | ALTER TABLE jobhistory ADD COLUMN jobprice FLOAT; |
---|
[1201] | 48 | ALTER TABLE jobhistory ADD COLUMN filename TEXT; |
---|
| 49 | ALTER TABLE jobhistory ADD COLUMN title TEXT; |
---|
| 50 | ALTER TABLE jobhistory ADD COLUMN copies INT4; |
---|
| 51 | ALTER TABLE jobhistory ADD COLUMN options TEXT; |
---|
| 52 | |
---|
[1240] | 53 | -- |
---|
| 54 | -- Remove bad integrity rules |
---|
| 55 | -- and replace them with a new one |
---|
| 56 | -- |
---|
| 57 | ALTER TABLE jobhistory DROP CONSTRAINT "$1"; |
---|
| 58 | ALTER TABLE jobhistory DROP CONSTRAINT "$2"; |
---|
| 59 | ALTER TABLE jobhistory ADD CONSTRAINT checkUserPQuota FOREIGN KEY (userid, printerid) REFERENCES userpquota (userid, printerid); |
---|
| 60 | |
---|
| 61 | -- |
---|
| 62 | -- Add new tables |
---|
| 63 | -- |
---|
[1201] | 64 | -- |
---|
[1240] | 65 | -- Create the printer groups relationship |
---|
| 66 | -- |
---|
| 67 | CREATE TABLE printergroupsmembers(groupid INT4 REFERENCES printers(id), |
---|
| 68 | printerid INT4 REFERENCES printers(id), |
---|
| 69 | PRIMARY KEY (groupid, printerid)); |
---|
| 70 | |
---|
| 71 | -- |
---|
[1201] | 72 | -- Now add some indexes |
---|
| 73 | -- |
---|
| 74 | CREATE UNIQUE INDEX userpquota_up_id_ix ON userpquota (userid, printerid); |
---|
| 75 | CREATE INDEX jobhistory_p_id_ix ON jobhistory (printerid); |
---|
| 76 | CREATE INDEX jobhistory_pd_id_ix ON jobhistory (printerid, jobdate); |
---|
| 77 | CREATE UNIQUE INDEX grouppquota_up_id_ix ON grouppquota (groupid, printerid); |
---|
| 78 | |
---|
[1240] | 79 | -- |
---|
| 80 | -- And now sets some ACLs |
---|
| 81 | -- |
---|
| 82 | REVOKE ALL ON printergroupsmembers FROM public; |
---|
| 83 | GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES ON printergroupsmembers TO pykotaadmin; |
---|
| 84 | GRANT SELECT ON printergroupsmembers TO pykotauser; |
---|