Skip to content

Instantly share code, notes, and snippets.

@gentlecat
Last active August 29, 2015 14:20
Show Gist options
  • Save gentlecat/b8df64456aa96e79cd08 to your computer and use it in GitHub Desktop.
Save gentlecat/b8df64456aa96e79cd08 to your computer and use it in GitHub Desktop.
MetaBrainz Donation Records
BEGIN;
-- Changes to donation table from the old website to new one.
-- See http://git.io/vfhUF (old) and http://git.io/vfhTZ (new).
ALTER TABLE donation ALTER COLUMN moderator DROP DEFAULT;
ALTER TABLE donation ALTER COLUMN contact DROP DEFAULT;
ALTER TABLE donation ALTER COLUMN anon DROP DEFAULT;
ALTER TABLE donation ALTER COLUMN address_street DROP DEFAULT;
ALTER TABLE donation ALTER COLUMN address_city DROP DEFAULT;
ALTER TABLE donation ALTER COLUMN address_state DROP DEFAULT;
ALTER TABLE donation ALTER COLUMN address_postcode DROP DEFAULT;
ALTER TABLE donation ALTER COLUMN address_country DROP DEFAULT;
ALTER TABLE donation ALTER COLUMN payment_date DROP DEFAULT;
ALTER TABLE donation ALTER COLUMN paypal_trans_id DROP DEFAULT;
ALTER TABLE donation ALTER COLUMN memo DROP DEFAULT;
ALTER TABLE donation ALTER COLUMN fee DROP NOT NULL;
ALTER TABLE donation ADD COLUMN payment_method payment_method_types;
-- Assuming `paypal_trans_id` was set only for PayPal donations in the old version.
UPDATE donation
SET payment_method = 'paypal'
WHERE paypal_trans_id IS NOT NULL AND paypal_trans_id <> '';
ALTER TABLE donation ALTER COLUMN paypal_trans_id TYPE CHARACTER VARYING;
ALTER TABLE donation RENAME COLUMN paypal_trans_id TO transaction_id;
ALTER TABLE donation RENAME COLUMN moderator TO editor_name;
ALTER TABLE donation RENAME COLUMN contact TO can_contact;
ALTER TABLE donation RENAME COLUMN anon TO anonymous;
END;
@gentlecat
Copy link
Author

Might want to set payment_method to paypal where paypal_trans_id (now transaction_id) was defined.

@gentlecat
Copy link
Author

Okay, I added that payment_method bit. Script needs to be checked though. I didn't try to run it on the old table.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment