liquid_feedback_core
changeset 26:66971fefaba2
Added preparation script for update from beta18
author | jbe |
---|---|
date | Sat Feb 06 03:38:49 2010 +0100 (2010-02-06) |
parents | f0460e206bc6 |
children | 77ac81cbe5c0 |
files | update/prepare-beta18-v1.0.0.sql |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/update/prepare-beta18-v1.0.0.sql Sat Feb 06 03:38:49 2010 +0100 1.3 @@ -0,0 +1,60 @@ 1.4 +BEGIN; 1.5 + 1.6 +CREATE OR REPLACE VIEW "liquid_feedback_version" AS 1.7 + SELECT * FROM (VALUES ('incomplete_update_from_beta18_to_v1.0.0', NULL, NULL, NULL)) 1.8 + AS "subquery"("string", "major", "minor", "revision"); 1.9 + 1.10 +ALTER TABLE "issue" RENAME COLUMN "latest_snapshot_event" TO "tmp"; 1.11 +ALTER TABLE "direct_population_snapshot" RENAME COLUMN "event" TO "tmp"; 1.12 +ALTER TABLE "delegating_population_snapshot" RENAME COLUMN "event" TO "tmp"; 1.13 +ALTER TABLE "direct_interest_snapshot" RENAME COLUMN "event" TO "tmp"; 1.14 +ALTER TABLE "delegating_interest_snapshot" RENAME COLUMN "event" TO "tmp"; 1.15 +ALTER TABLE "direct_supporter_snapshot" RENAME COLUMN "event" TO "tmp"; 1.16 + 1.17 +ALTER TABLE "issue" ADD COLUMN "latest_snapshot_event" TEXT; 1.18 +ALTER TABLE "direct_population_snapshot" ADD COLUMN "event" TEXT; 1.19 +ALTER TABLE "delegating_population_snapshot" ADD COLUMN "event" TEXT; 1.20 +ALTER TABLE "direct_interest_snapshot" ADD COLUMN "event" TEXT; 1.21 +ALTER TABLE "delegating_interest_snapshot" ADD COLUMN "event" TEXT; 1.22 +ALTER TABLE "direct_supporter_snapshot" ADD COLUMN "event" TEXT; 1.23 + 1.24 +ALTER TABLE "issue" ADD COLUMN "admission_time" INTERVAL; 1.25 +ALTER TABLE "issue" ADD COLUMN "discussion_time" INTERVAL; 1.26 +ALTER TABLE "issue" ADD COLUMN "verification_time" INTERVAL; 1.27 +ALTER TABLE "issue" ADD COLUMN "voting_time" INTERVAL; 1.28 + 1.29 +UPDATE "issue" SET "latest_snapshot_event" = "tmp"; 1.30 +UPDATE "direct_population_snapshot" SET "event" = "tmp"; 1.31 +UPDATE "delegating_population_snapshot" SET "event" = "tmp"; 1.32 +UPDATE "direct_interest_snapshot" SET "event" = "tmp"; 1.33 +UPDATE "delegating_interest_snapshot" SET "event" = "tmp"; 1.34 +UPDATE "direct_supporter_snapshot" SET "event" = "tmp"; 1.35 + 1.36 +UPDATE "issue" SET "latest_snapshot_event" = 'full_freeze' WHERE "latest_snapshot_event" = 'start_of_voting'; 1.37 +UPDATE "direct_population_snapshot" SET "event" = 'full_freeze' WHERE "event" = 'start_of_voting'; 1.38 +UPDATE "delegating_population_snapshot" SET "event" = 'full_freeze' WHERE "event" = 'start_of_voting'; 1.39 +UPDATE "direct_interest_snapshot" SET "event" = 'full_freeze' WHERE "event" = 'start_of_voting'; 1.40 +UPDATE "delegating_interest_snapshot" SET "event" = 'full_freeze' WHERE "event" = 'start_of_voting'; 1.41 +UPDATE "direct_supporter_snapshot" SET "event" = 'full_freeze' WHERE "event" = 'start_of_voting'; 1.42 + 1.43 +UPDATE "issue" SET 1.44 + "admission_time" = "policy"."admission_time", 1.45 + "discussion_time" = "policy"."discussion_time", 1.46 + "verification_time" = "policy"."verification_time", 1.47 + "voting_time" = "policy"."voting_time" 1.48 + FROM "policy" WHERE "issue"."policy_id" = "policy"."id"; 1.49 + 1.50 +-- remove "tmp" columns indirectly 1.51 +DROP TYPE "snapshot_event" CASCADE; 1.52 + 1.53 +COMMIT; 1.54 + 1.55 +-- Complete the update as follows: 1.56 +-- ========================================= 1.57 +-- pg_dump --disable-triggers --data-only DATABASE_NAME > tmp.sql 1.58 +-- dropdb DATABASE_NAME 1.59 +-- createdb DATABASE_NAME 1.60 +-- psql -v ON_ERROR_STOP=1 -f core.sql DATABASE_NAME 1.61 +-- psql -v ON_ERROR_STOP=1 -f tmp.sql DATABASE_NAME 1.62 +-- rm tmp.sql 1.63 +