From 9fc1501022ccfec746f65d19ef847b8c261561f0 Mon Sep 17 00:00:00 2001 From: Ben Sturmfels Date: Fri, 14 Feb 2025 18:29:14 +1100 Subject: [PATCH] Document the process to roll over to the next year --- ROLLING OVER.md | 79 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 ROLLING OVER.md diff --git a/ROLLING OVER.md b/ROLLING OVER.md new file mode 100644 index 00000000..76b27127 --- /dev/null +++ b/ROLLING OVER.md @@ -0,0 +1,79 @@ +Export any reports you want to keep. + +Take a database dump. + +Remove all accounts, tickets, invoices, talks, etc. I used the commands below, but this may be simpler to achieve by selecting the relevant users in the Django Admin, selecting "Delete" and letting the cascading deletes deal with it. + +``` +Replace USERNAMES_TO_KEEP with an array of staff usernames. + +$ sudo -u postgres psql symposion +delete from registrasion_lineitem; +delete from registrasion_manualpayment; +delete from registripe_stripepayment; +delete from registrasion_creditnote; +delete from registrasion_paymentbase; +delete from registrasion_invoice; +delete from registrasion_cart_vouchers; +delete from registrasion_productitem; +delete from registrasion_discountitem; +delete from registrasion_cart; +delete from pinaxcon_registrasion_attendeeprofile; +delete from registrasion_attendeeprofilebase; +delete from registrasion_attendee; + +delete from proposals_aiandmachinelearningproposal; +delete from proposals_diversityequityandinclusionproposal; +delete from proposals_fossandarm64proposal; +delete from proposals_fossfundingandeconomicsproposal; +delete from proposals_fossindailylifeproposal; +delete from proposals_fossineducationproposal; +delete from proposals_keynotepanelproposal; +delete from proposals_licensingandlegalissuesproposal; +delete from proposals_memberprojectsproposal; +delete from proposals_mobiledeviceuserfreedomproposal; +delete from proposals_reproducibilityproposal; +delete from proposals_righttorepairproposal; +delete from proposals_scienceofcommunityproposal; +delete from proposals_seleniumproposal; +delete from proposals_supportingusergroupsproposal; +delete from proposals_talkproposal; +delete from proposals_tutorialproposal; +delete from proposals_wildcardproposal; +delete from proposals_xmppproposal; + +delete from symposion_reviews_proposalresult; +delete from symposion_reviews_resultnotification; +delete from symposion_schedule_presentation_additional_speakers; +delete from symposion_schedule_presentation; +delete from symposion_reviews_latestvote; +delete from symposion_reviews_proposalmessage; +delete from symposion_proposals_additionalspeaker; +delete from symposion_proposals_supportingdocument; +delete from symposion_proposals_proposalbase; + +delete from account_account where user_id in (select id from auth_user where username not in USERNAMES_TO_KEEP); +delete from account_emailconfirmation; +delete from account_emailaddress where user_id in (select id from auth_user where username not in USERNAMES_TO_KEEP); + +delete from symposion_speakers_speaker; +delete from reversion_version; +delete from reversion_revision; +delete from teams_membership; +delete from pinax_stripe_card; +delete from pinax_stripe_charge; +delete from pinax_stripe_customer; +delete from django_admin_log; + +delete from auth_user where username not in USERNAMES_TO_KEEP; +``` + +Set any remaining account `completed_registration` to false. + +Add a new Conference entry in Django Admin and update the `CONFERENCE_ID` in pinaxcon/settings.py. Also update the conference dates. + +Find and update all uses of 2025 and the conference dates in this codebase. + +Update flatpages such as the "/" home page. + +Update the Django "site" in the Admin.