spurious > removed
[mir.git] / dbscripts / updates / update20031122.sql
1 -- update script 2003-11-22 by Zapata
2 -- * added a bunch of fields to webdb_user: is_disabled, email, profile, creation date,
3 --     last login date
4 -- This script will terminate with an error the second time it's run,
5 --   so running this script when it isn't needed can't do any harm.
6 --
7
8 BEGIN TRANSACTION;
9
10 ALTER TABLE "webdb_users" RENAME TO "webdb_users_old";
11 DROP INDEX "webdb_users_pkey";
12   
13 CREATE TABLE "webdb_users" (
14         "id" integer DEFAULT nextval('webdb_users_id_seq'::text) NOT NULL,
15         "login" character varying(16) NOT NULL,
16         "password" character varying(255) NOT NULL,
17         "is_admin" boolean DEFAULT '0' NOT NULL,
18         "comment" text,
19         "is_disabled" boolean DEFAULT '0' NOT NULL,
20         "email" character varying(255) DEFAULT '' NOT NULL,
21         "profile" text,
22         "webdb_create"  timestamp with time zone NOT NULL,
23         "lastlogin"  timestamp with time zone,
24         CONSTRAINT "webdb_users_pkey" Primary Key ("id")
25 );
26
27 INSERT INTO "webdb_users" (
28   "id", 
29   "login", 
30   "password",
31   "is_admin",
32   "comment",
33   "is_disabled",
34   "email",
35   "profile",
36   "webdb_create",
37   "lastlogin"
38 )
39 SELECT
40   "id", 
41   "login", 
42   "password",
43   "is_admin",
44   '',
45   'f',
46   '',
47   '',
48   now(),
49   null
50 FROM "webdb_users_old";
51
52 UPDATE  pg_class
53 SET
54   relowner = (SELECT relowner FROM pg_class WHERE relname='webdb_users_old'),
55   relacl =   (SELECT relacl FROM pg_class WHERE relname='webdb_users_old')
56 WHERE 
57   relname = 'webdb_users';
58
59
60 -- to prevent this script from being run successfully for a second time
61 INSERT INTO webdb_users_old(login, password, is_admin) values('','','t');
62
63 DROP TABLE "webdb_users_old";
64
65 -- that's it!
66   
67 COMMIT TRANSACTION;