liquid_feedback_core

annotate update/prepare-beta18-beta19.sql @ 113:76ffbafb23b5

Work on event and notification system; Added more "issue_state"s; Replaced "ignored_issue" table; Removal of sessions in "delete_member" function

- "state" column of table "event" is now always filled
- splitted revocation state into 3 new "issue_state"s:
- 'canceled_revoked_before_accepted'
- 'canceled_after_revocation_during_discussion'
- 'canceled_after_revocation_during_verification'
- Added columns "notify_level" and "notify_event_id" to "member" table
- Replaced view "ignored_issue" by three new views:
- TABLE "ignored_member"
- TABLE "ignored_initiative"
- TABLE "non_voter"
- Function "delete_member" now removes "session"s
- Added member specific views on events:
- VIEW "event_seen_by_member"
- VIEW "pending_notification"
author jbe
date Sat Mar 05 22:05:13 2011 +0100 (2011-03-05)
parents 77ac81cbe5c0
children
rev   line source
jbe@26 1 BEGIN;
jbe@26 2
jbe@26 3 CREATE OR REPLACE VIEW "liquid_feedback_version" AS
jbe@27 4 SELECT * FROM (VALUES ('incomplete_update_from_beta18_to_beta19', NULL, NULL, NULL))
jbe@26 5 AS "subquery"("string", "major", "minor", "revision");
jbe@26 6
jbe@26 7 ALTER TABLE "issue" RENAME COLUMN "latest_snapshot_event" TO "tmp";
jbe@26 8 ALTER TABLE "direct_population_snapshot" RENAME COLUMN "event" TO "tmp";
jbe@26 9 ALTER TABLE "delegating_population_snapshot" RENAME COLUMN "event" TO "tmp";
jbe@26 10 ALTER TABLE "direct_interest_snapshot" RENAME COLUMN "event" TO "tmp";
jbe@26 11 ALTER TABLE "delegating_interest_snapshot" RENAME COLUMN "event" TO "tmp";
jbe@26 12 ALTER TABLE "direct_supporter_snapshot" RENAME COLUMN "event" TO "tmp";
jbe@26 13
jbe@26 14 ALTER TABLE "issue" ADD COLUMN "latest_snapshot_event" TEXT;
jbe@26 15 ALTER TABLE "direct_population_snapshot" ADD COLUMN "event" TEXT;
jbe@26 16 ALTER TABLE "delegating_population_snapshot" ADD COLUMN "event" TEXT;
jbe@26 17 ALTER TABLE "direct_interest_snapshot" ADD COLUMN "event" TEXT;
jbe@26 18 ALTER TABLE "delegating_interest_snapshot" ADD COLUMN "event" TEXT;
jbe@26 19 ALTER TABLE "direct_supporter_snapshot" ADD COLUMN "event" TEXT;
jbe@26 20
jbe@26 21 ALTER TABLE "issue" ADD COLUMN "admission_time" INTERVAL;
jbe@26 22 ALTER TABLE "issue" ADD COLUMN "discussion_time" INTERVAL;
jbe@26 23 ALTER TABLE "issue" ADD COLUMN "verification_time" INTERVAL;
jbe@26 24 ALTER TABLE "issue" ADD COLUMN "voting_time" INTERVAL;
jbe@26 25
jbe@26 26 UPDATE "issue" SET "latest_snapshot_event" = "tmp";
jbe@26 27 UPDATE "direct_population_snapshot" SET "event" = "tmp";
jbe@26 28 UPDATE "delegating_population_snapshot" SET "event" = "tmp";
jbe@26 29 UPDATE "direct_interest_snapshot" SET "event" = "tmp";
jbe@26 30 UPDATE "delegating_interest_snapshot" SET "event" = "tmp";
jbe@26 31 UPDATE "direct_supporter_snapshot" SET "event" = "tmp";
jbe@26 32
jbe@26 33 UPDATE "issue" SET "latest_snapshot_event" = 'full_freeze' WHERE "latest_snapshot_event" = 'start_of_voting';
jbe@26 34 UPDATE "direct_population_snapshot" SET "event" = 'full_freeze' WHERE "event" = 'start_of_voting';
jbe@26 35 UPDATE "delegating_population_snapshot" SET "event" = 'full_freeze' WHERE "event" = 'start_of_voting';
jbe@26 36 UPDATE "direct_interest_snapshot" SET "event" = 'full_freeze' WHERE "event" = 'start_of_voting';
jbe@26 37 UPDATE "delegating_interest_snapshot" SET "event" = 'full_freeze' WHERE "event" = 'start_of_voting';
jbe@26 38 UPDATE "direct_supporter_snapshot" SET "event" = 'full_freeze' WHERE "event" = 'start_of_voting';
jbe@26 39
jbe@26 40 UPDATE "issue" SET
jbe@26 41 "admission_time" = "policy"."admission_time",
jbe@26 42 "discussion_time" = "policy"."discussion_time",
jbe@26 43 "verification_time" = "policy"."verification_time",
jbe@26 44 "voting_time" = "policy"."voting_time"
jbe@26 45 FROM "policy" WHERE "issue"."policy_id" = "policy"."id";
jbe@26 46
jbe@26 47 -- remove "tmp" columns indirectly
jbe@26 48 DROP TYPE "snapshot_event" CASCADE;
jbe@26 49
jbe@26 50 COMMIT;
jbe@26 51
jbe@26 52 -- Complete the update as follows:
jbe@26 53 -- =========================================
jbe@26 54 -- pg_dump --disable-triggers --data-only DATABASE_NAME > tmp.sql
jbe@26 55 -- dropdb DATABASE_NAME
jbe@26 56 -- createdb DATABASE_NAME
jbe@26 57 -- psql -v ON_ERROR_STOP=1 -f core.sql DATABASE_NAME
jbe@26 58 -- psql -v ON_ERROR_STOP=1 -f tmp.sql DATABASE_NAME
jbe@26 59 -- rm tmp.sql
jbe@26 60

Impressum / About Us