# HG changeset patch # User jbe # Date 1265425143 -3600 # Node ID 77ac81cbe5c08324d605d32d0cfcc55a1eeeedf1 # Parent 66971fefaba2fed382b9f36f50da90151506b0c9 SQL update script from beta18: Changed destination version from v1.0.0 to beta19 (fixes mistake in changeset 66971fefaba2) diff -r 66971fefaba2 -r 77ac81cbe5c0 update/prepare-beta18-beta19.sql --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/update/prepare-beta18-beta19.sql Sat Feb 06 03:59:03 2010 +0100 @@ -0,0 +1,60 @@ +BEGIN; + +CREATE OR REPLACE VIEW "liquid_feedback_version" AS + SELECT * FROM (VALUES ('incomplete_update_from_beta18_to_beta19', NULL, NULL, NULL)) + AS "subquery"("string", "major", "minor", "revision"); + +ALTER TABLE "issue" RENAME COLUMN "latest_snapshot_event" TO "tmp"; +ALTER TABLE "direct_population_snapshot" RENAME COLUMN "event" TO "tmp"; +ALTER TABLE "delegating_population_snapshot" RENAME COLUMN "event" TO "tmp"; +ALTER TABLE "direct_interest_snapshot" RENAME COLUMN "event" TO "tmp"; +ALTER TABLE "delegating_interest_snapshot" RENAME COLUMN "event" TO "tmp"; +ALTER TABLE "direct_supporter_snapshot" RENAME COLUMN "event" TO "tmp"; + +ALTER TABLE "issue" ADD COLUMN "latest_snapshot_event" TEXT; +ALTER TABLE "direct_population_snapshot" ADD COLUMN "event" TEXT; +ALTER TABLE "delegating_population_snapshot" ADD COLUMN "event" TEXT; +ALTER TABLE "direct_interest_snapshot" ADD COLUMN "event" TEXT; +ALTER TABLE "delegating_interest_snapshot" ADD COLUMN "event" TEXT; +ALTER TABLE "direct_supporter_snapshot" ADD COLUMN "event" TEXT; + +ALTER TABLE "issue" ADD COLUMN "admission_time" INTERVAL; +ALTER TABLE "issue" ADD COLUMN "discussion_time" INTERVAL; +ALTER TABLE "issue" ADD COLUMN "verification_time" INTERVAL; +ALTER TABLE "issue" ADD COLUMN "voting_time" INTERVAL; + +UPDATE "issue" SET "latest_snapshot_event" = "tmp"; +UPDATE "direct_population_snapshot" SET "event" = "tmp"; +UPDATE "delegating_population_snapshot" SET "event" = "tmp"; +UPDATE "direct_interest_snapshot" SET "event" = "tmp"; +UPDATE "delegating_interest_snapshot" SET "event" = "tmp"; +UPDATE "direct_supporter_snapshot" SET "event" = "tmp"; + +UPDATE "issue" SET "latest_snapshot_event" = 'full_freeze' WHERE "latest_snapshot_event" = 'start_of_voting'; +UPDATE "direct_population_snapshot" SET "event" = 'full_freeze' WHERE "event" = 'start_of_voting'; +UPDATE "delegating_population_snapshot" SET "event" = 'full_freeze' WHERE "event" = 'start_of_voting'; +UPDATE "direct_interest_snapshot" SET "event" = 'full_freeze' WHERE "event" = 'start_of_voting'; +UPDATE "delegating_interest_snapshot" SET "event" = 'full_freeze' WHERE "event" = 'start_of_voting'; +UPDATE "direct_supporter_snapshot" SET "event" = 'full_freeze' WHERE "event" = 'start_of_voting'; + +UPDATE "issue" SET + "admission_time" = "policy"."admission_time", + "discussion_time" = "policy"."discussion_time", + "verification_time" = "policy"."verification_time", + "voting_time" = "policy"."voting_time" + FROM "policy" WHERE "issue"."policy_id" = "policy"."id"; + +-- remove "tmp" columns indirectly +DROP TYPE "snapshot_event" CASCADE; + +COMMIT; + +-- Complete the update as follows: +-- ========================================= +-- pg_dump --disable-triggers --data-only DATABASE_NAME > tmp.sql +-- dropdb DATABASE_NAME +-- createdb DATABASE_NAME +-- psql -v ON_ERROR_STOP=1 -f core.sql DATABASE_NAME +-- psql -v ON_ERROR_STOP=1 -f tmp.sql DATABASE_NAME +-- rm tmp.sql + diff -r 66971fefaba2 -r 77ac81cbe5c0 update/prepare-beta18-v1.0.0.sql --- a/update/prepare-beta18-v1.0.0.sql Sat Feb 06 03:38:49 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,60 +0,0 @@ -BEGIN; - -CREATE OR REPLACE VIEW "liquid_feedback_version" AS - SELECT * FROM (VALUES ('incomplete_update_from_beta18_to_v1.0.0', NULL, NULL, NULL)) - AS "subquery"("string", "major", "minor", "revision"); - -ALTER TABLE "issue" RENAME COLUMN "latest_snapshot_event" TO "tmp"; -ALTER TABLE "direct_population_snapshot" RENAME COLUMN "event" TO "tmp"; -ALTER TABLE "delegating_population_snapshot" RENAME COLUMN "event" TO "tmp"; -ALTER TABLE "direct_interest_snapshot" RENAME COLUMN "event" TO "tmp"; -ALTER TABLE "delegating_interest_snapshot" RENAME COLUMN "event" TO "tmp"; -ALTER TABLE "direct_supporter_snapshot" RENAME COLUMN "event" TO "tmp"; - -ALTER TABLE "issue" ADD COLUMN "latest_snapshot_event" TEXT; -ALTER TABLE "direct_population_snapshot" ADD COLUMN "event" TEXT; -ALTER TABLE "delegating_population_snapshot" ADD COLUMN "event" TEXT; -ALTER TABLE "direct_interest_snapshot" ADD COLUMN "event" TEXT; -ALTER TABLE "delegating_interest_snapshot" ADD COLUMN "event" TEXT; -ALTER TABLE "direct_supporter_snapshot" ADD COLUMN "event" TEXT; - -ALTER TABLE "issue" ADD COLUMN "admission_time" INTERVAL; -ALTER TABLE "issue" ADD COLUMN "discussion_time" INTERVAL; -ALTER TABLE "issue" ADD COLUMN "verification_time" INTERVAL; -ALTER TABLE "issue" ADD COLUMN "voting_time" INTERVAL; - -UPDATE "issue" SET "latest_snapshot_event" = "tmp"; -UPDATE "direct_population_snapshot" SET "event" = "tmp"; -UPDATE "delegating_population_snapshot" SET "event" = "tmp"; -UPDATE "direct_interest_snapshot" SET "event" = "tmp"; -UPDATE "delegating_interest_snapshot" SET "event" = "tmp"; -UPDATE "direct_supporter_snapshot" SET "event" = "tmp"; - -UPDATE "issue" SET "latest_snapshot_event" = 'full_freeze' WHERE "latest_snapshot_event" = 'start_of_voting'; -UPDATE "direct_population_snapshot" SET "event" = 'full_freeze' WHERE "event" = 'start_of_voting'; -UPDATE "delegating_population_snapshot" SET "event" = 'full_freeze' WHERE "event" = 'start_of_voting'; -UPDATE "direct_interest_snapshot" SET "event" = 'full_freeze' WHERE "event" = 'start_of_voting'; -UPDATE "delegating_interest_snapshot" SET "event" = 'full_freeze' WHERE "event" = 'start_of_voting'; -UPDATE "direct_supporter_snapshot" SET "event" = 'full_freeze' WHERE "event" = 'start_of_voting'; - -UPDATE "issue" SET - "admission_time" = "policy"."admission_time", - "discussion_time" = "policy"."discussion_time", - "verification_time" = "policy"."verification_time", - "voting_time" = "policy"."voting_time" - FROM "policy" WHERE "issue"."policy_id" = "policy"."id"; - --- remove "tmp" columns indirectly -DROP TYPE "snapshot_event" CASCADE; - -COMMIT; - --- Complete the update as follows: --- ========================================= --- pg_dump --disable-triggers --data-only DATABASE_NAME > tmp.sql --- dropdb DATABASE_NAME --- createdb DATABASE_NAME --- psql -v ON_ERROR_STOP=1 -f core.sql DATABASE_NAME --- psql -v ON_ERROR_STOP=1 -f tmp.sql DATABASE_NAME --- rm tmp.sql -