annotate update/core-update.v3.0.3-v3.0.4.sql @ 440:9055fd4de232
Added data structures to support externally managed accounts (e.g. LDAP)
author |
jbe |
date |
Tue Jul 22 18:46:25 2014 +0200 (2014-07-22) |
parents |
|
children |
f5c78b0590c6 |
rev |
line source |
jbe@440
|
1 BEGIN;
|
jbe@440
|
2
|
jbe@440
|
3 CREATE OR REPLACE VIEW "liquid_feedback_version" AS
|
jbe@440
|
4 SELECT * FROM (VALUES ('3.0.4', 3, 0, 4))
|
jbe@440
|
5 AS "subquery"("string", "major", "minor", "revision");
|
jbe@440
|
6
|
jbe@440
|
7 ALTER TABLE "member" ADD COLUMN "authority" TEXT;
|
jbe@440
|
8 ALTER TABLE "member" ADD COLUMN "authority_uid" TEXT;
|
jbe@440
|
9 ALTER TABLE "member" ADD COLUMN "authority_login" TEXT;
|
jbe@440
|
10
|
jbe@440
|
11 COMMENT ON COLUMN "member"."authority" IS 'NULL if LiquidFeedback Core is authoritative for the member account; otherwise a string that indicates the source/authority of the external account (e.g. ''LDAP'' for an LDAP account)';
|
jbe@440
|
12 COMMENT ON COLUMN "member"."authority_uid" IS 'Unique identifier (unique per "authority") that allows to identify an external account (e.g. even if the login name changes)';
|
jbe@440
|
13 COMMENT ON COLUMN "member"."authority_login" IS 'Login name for external accounts (field is not unique!)';
|
jbe@440
|
14
|
jbe@440
|
15 ALTER TABLE "member" ADD CONSTRAINT "authority_requires_uid_and_vice_versa"
|
jbe@440
|
16 CHECK ("authority" NOTNULL = "authority_uid" NOTNULL);
|
jbe@440
|
17
|
jbe@440
|
18 ALTER TABLE "member" ADD CONSTRAINT "authority_uid_unique_per_authority"
|
jbe@440
|
19 UNIQUE ("authority", "authority_uid");
|
jbe@440
|
20
|
jbe@440
|
21 ALTER TABLE "member" ADD CONSTRAINT "authority_login_requires_authority"
|
jbe@440
|
22 CHECK ("authority" NOTNULL OR "authority_login" ISNULL);
|
jbe@440
|
23
|
jbe@440
|
24 CREATE INDEX "member_authority_login_idx" ON "member" ("authority_login");
|
jbe@440
|
25
|
jbe@440
|
26 ALTER TABLE "session" ADD COLUMN "authority" TEXT;
|
jbe@440
|
27 ALTER TABLE "session" ADD COLUMN "authority_uid" TEXT;
|
jbe@440
|
28 ALTER TABLE "session" ADD COLUMN "authority_login" TEXT;
|
jbe@440
|
29
|
jbe@440
|
30 COMMENT ON COLUMN "session"."authority" IS 'Temporary store for "member"."authority" during member account creation';
|
jbe@440
|
31 COMMENT ON COLUMN "session"."authority_uid" IS 'Temporary store for "member"."authority_uid" during member account creation';
|
jbe@440
|
32 COMMENT ON COLUMN "session"."authority_login" IS 'Temporary store for "member"."authority_login" during member account creation';
|
jbe@440
|
33
|
jbe@440
|
34 COMMIT;
|