LQPP/Datenbankeingriffe/Archiv2011
LQPP/Datenbankeingriffe -- Archiv für das Jahr 2011.
Inhaltsverzeichnis
- 1 2011-11-12 (ib) - Manuelle Verifizierung einer E-Mail-Adresse
- 2 2011-11-02 23:55 (ib) - Manuelles Einfrieren der Satzungs- und Programanträge für den Bundesparteitag in Offenbach
- 3 2011-10-19 18:00 (ib) - Löschung ungültiger Invite-Codes
- 4 2011-09-7 08:30 (mpd) - Löschung ungültiger Invite-Codes
- 5 2011-08-27 17:30 (mpd) - Löschung ungültiger Invite-Codes
- 6 2011-08-27 17:30 (mpd) - Löschung ungültiger Invite-Codes
- 7 2011-08-18 11:25 (mod) - Einfügen neuer Invitecodes
- 8 2011-06-26 16:30 (mpd) - Löschung ungültiger Invite-Codes
- 9 2011-04-15 00:00 (mpd) - Manuelles Einfrieren von Initiativen zur Bundesmitgliederversammlung und verkürzen der Eingefrorenphase
- 10 2011-01-18 14:15 (mpd) - Löschung ungültiger Invite-Codes
2011-11-12 (ib) - Manuelle Verifizierung einer E-Mail-Adresse
Grund: Nutzer hat sich nicht fristgerecht im System verifiziert und das Passwort vergessen. Adresse wurde durch manuelles zusenden eines Bestätigungscodes verifiziert.
source: set_new_email_for_member.sql
cp .../sqllib/set_new_email_for_member.sql . vim set_new_email_for_member.sql sudo .../bin/psql-wrapper.sh set_new_email_for_member.sql liquid_feedback_pp BEGIN UPDATE 1 COMMIT
2011-11-02 23:55 (ib) - Manuelles Einfrieren der Satzungs- und Programanträge für den Bundesparteitag in Offenbach
Grund: Beschluss des Bundesvorstand vom 01.10.2011:
- Die in der Diskussionphase befindlichen Themen, die für eine Antragstellung auf dem Bundesparteitag als Programm- oder Satzungsänderungsantrag infrage kommen, werden am 2. November 2011 um 23:59 Uhr manuell von den Lqfb-Admins eingefroren, um ein rechtzeitiges Ergebnis der Themen noch vor dem Bundesparteitag sicherzustellen.
Erzeugung der Liste einzufrierender Themen:
$ echo "SELECT id FROM issue WHERE issue.policy_id IN (1,2) AND accepted NOTNULL AND half_frozen ISNULL AND closed ISNULL ;" | sudo -u postgres psql liquid_feedback_pp | sort -n | grep -v "[^0-9 ]" | xargs | sed 's/ /, /g 843, 844, 847, 855, 858, 859, 862, 865, 866, 869, 870, 871, 872, 873, 874, 875, 876, 879, 880, 881, 882, 885, 890, 891, 892, 893, 894, 896, 905, 908, 912, 914, 916, 918, 921, 924, 927, 928, 932, 937, 955, 958, 964, 967, 971, 972, 973, 988, 992, 994, 995, 996, 997, 998, 1000, 1008, 1012, 1021, 1026
Manuelle Kontrolle der Liste über das Webinterface.
Anlegen der Steuerdatei:
$ vi man_half_freeze.sql BEGIN; UPDATE issue SET half_frozen='2011-11-02 23:59' WHERE id IN ( 843, 844, 847, 855, 858, 859, 862, 865, 866, 869, 870, 871, 872, 873, 874, 875, 876, 879, 880, 881, 882, 885, 890, 891, 892, 893, 894, 896, 905, 908, 912, 914, 916, 918, 921, 924, 927, 928, 932, 937, 955, 958, 964, 967, 971, 972, 973, 988, 992, 994, 995, 996, 997, 998, 1000, 1008, 1012, 1021, 1026 ) AND policy_id IN (1,2) AND accepted NOTNULL AND half_frozen ISNULL AND closed ISNULL ; COMMIT;
Vorbereiten und Durchführen des Datenbankeingriffs:
# Normales Backup triggern: $ sudo /opt/liquid_feedback/bin/lf-backup # Den Hintergrundprozess zur Auszählung stoppen: $ sudo /etc/init.d/lf-daemon stop # Warten auf die Beendigung es aktuellen Zähllaufs (ca. 20 Min)... # Den Webserver stoppen: $ sudo /etc/init.d/lighttpd stop # Manuellen Datenbankdump durchführen: $ sudo -u postgres pg_dump liquid_feedback_pp > 2011-11-03--pre-freeze-backup.sql # Datenbankeingriff vornehmen: $ sudo /opt/liquid_feedback/bin/psql-wrapper.sh man_half_freeze.sql liquid_feedback_pp # Webserver und Auszählprozess wieder starten $ sudo /etc/init.d/lighttpd start $ sudo /etc/init.d/lf-daemon start # Weiteres normales Backup triggern $ sudo /opt/liquid_feedback/bin/lf-backup
Testen der Verfügbarkeit und Kontrolle einiger eingefrorener Themen.
Anmerkung: In der Ankündigung waren auch Themen mit dem Regelwerk "Meinungsbild / Beschlussvorlage" genannt. Diese wurden dem Vorstandsbeschluss folgend nicht eingefroren (sie laufen aufgrund des kürzeren Regelwerks ohnehin alle vor dem Parteitag aus). Es war außerdem angekündigt, dass ein Thema mit ausschließlich zurückgezogenen Initiativen nicht eingefroren würde. Dieses Thema wurde eingefroren, weil es möglich ist, währen der Phase "Eingefroren" Alternative Initiativen zu erzeugen.
2011-10-19 18:00 (ib) - Löschung ungültiger Invite-Codes
Grund: Die Clearingstelle hat 60 Invite-Codes zur Löschung übermittelt. (siehe Verzeichnis Versand Referenzschlüssel an Clearingstelle zur Sperrung #11)
1. Benutzer bereits verwendeter Invite-Codes identifizieren und benachrichtigen:
Source:
SELECT invite_code.code, member.id, member.active, member.name, member.notify_email, member.notify_email_unconfirmed FROM invite_code INNER JOIN member ON (invite_code.member_id = member.id) WHERE invite_code.code IN ( 'xxxxx-xxxxx-xxxxx-xxxxx', . . 'xxxxx-xxxxx-xxxxx-xxxxx'); . . (13 rows)
Ergebnis:
- 13 der 60 Invite-Codes wurden verwendet.
- Die betroffenen Teilnehmer werden angeschrieben und Informiert. (Email-Body: LQPP/email_accountsperrung) Die betroffenen Invite-Codes werden in einem Bericht an die Clearingstelle übermittelt.
- Es konnten nur 12 der 13 Teilnehmer angeschrieben werden, da zu einem Nutzer keine E-Mail-Adresse vorhanden war. Dieser Nutzer war außerdem schon mit einem früheren Vorgang gesperrt worden.
2. Sperrung der identifizierten Teilnehmer:
Source: delete_member.sql
$ sudo cp .../delete_member.sql . $ sudo vim delete_member.sql $ sudo .../psql-wrapper.sh delete_member.sql liquid_feedback_pp . . 13x (1 row)
3. Löschung der nicht verwendeter Invite-Codes:
Source: delete_invalid_invites.sql
$ sudo cp .../delete_invalid_invites.sql . $ sudo vim delete_invalid_invites.sql $ sudo .../psql-wrapper.sh delete_invalid_invites.sql liquid_feedback_pp . . BEGIN DELETE 47 COMMIT
2011-09-7 08:30 (mpd) - Löschung ungültiger Invite-Codes
Grund: Die Clearingstelle hat 14 Invite-Codes zur Löschung übermittelt. (siehe Verzeichnis Versand Referenzschlüssel an Clearingstelle zur Sperrung #11)
Verwendung der ungültigen Invite-Codes testen.
Vor der Löschung wird nach schon verwendeten Codes gesucht um die betreffenden Accounts zu sperren und die betreffenden Inivte-Codes zur nachvollziehbarkeit zu erhalten.
source: test_used_invalid_invites.sql
mpd@rogers:/opt/liquid_feedback$ sudo cp sqllib/test_used_invalid_invites.sql . mpd@rogers:/opt/liquid_feedback$ sudo vim test_used_invalid_invites.sql mpd@rogers:/opt/liquid_feedback$ sudo bin/psql-wrapper.sh test_used_invalid_invites.sql liquid_feedback_pp . . . (5 rows)
Ergebnis:
- 5 Invite-Codes wurden verwendet.
Die Teilnehmernummer und die bestätigte Benachrichtigungsadresse werden entnommen. Die betroffenen Teilnehmer werden angeschrieben und Informiert. (Email-Body: LQPP/email_accountsperrung) Die betroffenen Invite-Codes werden in einem Bericht an die Clearingstelle übermittelt.
Es konnten nur vier der 5 Teilnehmer angeschrieben werden, da zu einem Nutzer keine E-Mail-Adresse vorhanden war. Dieser Nutzer war außerdem schon mit einem früheren Vorgang gesperrt worden.
Sperrung der Teilnehmer mit ungültigen Invite-Codes
source: delete_member.sql
mpd@rogers:/opt/liquid_feedback$ sudo cp sqllib/delete_member.sql . mpd@rogers:/opt/liquid_feedback$ sudo vim delete_member.sql mpd@rogers:/opt/liquid_feedback$ sudo bin/psql-wrapper.sh delete_member.sql liquid_feedback_pp
Löschung nicht verwendeter Invite-Codes
source: delete_invalid_invites.sql
mpd@rogers:/opt/liquid_feedback$ sudo cp sqllib/delete_invalid_invites.sql . mpd@rogers:/opt/liquid_feedback$ sudo vim delete_invalid_invites.sql mpd@rogers:/opt/liquid_feedback$ sudo bin/psql-wrapper.sh delete_invalid_invites.sql liquid_feedback_pp BEGIN DELETE 9 COMMIT
2011-08-27 17:30 (mpd) - Löschung ungültiger Invite-Codes
Grund: Die Clearingstelle hat einen Invite-Code auf Wunsch des Bundesvorstands übermittelt. (Sperrung ist nicht durch die Mitgliederverwaltung unter : Verzeichnis Versand Referenzschlüssel an Clearingstelle zur Sperrung dokumentiert.)
Verwendung der ungültigen Invite-Codes testen.
Vor der Löschung wird nach schon verwendeten Codes gesucht um die betreffenden Accounts zu sperren und die betreffenden Inivte-Codes zur nachvollziehbarkeit zu erhalten.
source: test_used_invalid_invites.sql
mpd@rogers:/opt/liquid_feedback$ sudo cp sqllib/test_used_invalid_invites.sql . mpd@rogers:/opt/liquid_feedback$ sudo vim test_used_invalid_invites.sql mpd@rogers:/opt/liquid_feedback$ sudo bin/psql-wrapper.sh test_used_invalid_invites.sql liquid_feedback_pp . (1 row)
Ergebnis:
- 1 Invite-Code wurde verwendet.
Die Teilnehmernummer und die bestätigte Benachrichtigungsadresse werden entnommen. Der betroffene Teilnehmer wird angeschrieben und informiert. (Email-Body: LQPP/email_accountsperrung) Die betroffenen Invite-Codes werden in einem Bericht an die Clearingstelle übermittelt.
Sperrung der Teilnehmer mit ungültigen Invite-Codes
source: delete_member.sql
mpd@rogers:/opt/liquid_feedback$ sudo cp sqllib/delete_member.sql . mpd@rogers:/opt/liquid_feedback$ sudo vim delete_member.sql mpd@rogers:/opt/liquid_feedback$ sudo bin/psql-wrapper.sh delete_member.sql liquid_feedback_pp BEGIN delete_member --------------- (1 row) COMMIT
Löschung nicht verwendeter Invite-Codes
source: delete_invalid_invites.sql
Alle übermittelten Invite-Codes wurden bereits verwendet.
2011-08-27 17:30 (mpd) - Löschung ungültiger Invite-Codes
Grund: Die Clearingstelle hat 86 Invite-Codes zur Löschung übermittelt. (siehe Verzeichnis Versand Referenzschlüssel an Clearingstelle zur Sperrung #10)
Verwendung der ungültigen Invite-Codes testen.
Vor der Löschung wird nach schon verwendeten Codes gesucht um die betreffenden Accounts zu sperren und die betreffenden Inivte-Codes zur nachvollziehbarkeit zu erhalten.
source: test_used_invalid_invites.sql
mpd@rogers:/opt/liquid_feedback$ sudo cp sqllib/test_used_invalid_invites.sql . mpd@rogers:/opt/liquid_feedback$ sudo vim test_used_invalid_invites.sql mpd@rogers:/opt/liquid_feedback$ sudo bin/psql-wrapper.sh test_used_invalid_invites.sql liquid_feedback_pp . . . (18 rows)
Ergebnis:
- 18 Invite-Codes wurden verwendet.
Die Teilnehmernummer und die bestätigte Benachrichtigungsadresse werden entnommen. Die betroffenen Teilnehmer werden angeschrieben und Informiert. (Email-Body: LQPP/email_accountsperrung) Die betroffenen Invite-Codes werden in einem Bericht an die Clearingstelle übermittelt.
Sperrung der Teilnehmer mit ungültigen Invite-Codes
source: delete_member.sql
mpd@rogers:/opt/liquid_feedback$ sudo cp sqllib/delete_member.sql . mpd@rogers:/opt/liquid_feedback$ sudo vim delete_member.sql mpd@rogers:/opt/liquid_feedback$ sudo bin/psql-wrapper.sh delete_member.sql liquid_feedback_pp
Löschung nicht verwendeter Invite-Codes
source: delete_invalid_invites.sql
mpd@rogers:/opt/liquid_feedback$ sudo cp sqllib/delete_invalid_invites.sql . mpd@rogers:/opt/liquid_feedback$ sudo vim delete_invalid_invites.sql mpd@rogers:/opt/liquid_feedback$ sudo bin/psql-wrapper.sh delete_invalid_invites.sql liquid_feedback_pp BEGIN DELETE 68 COMMIT
2011-08-18 11:25 (mod) - Einfügen neuer Invitecodes
Grund: Die Clearingstelle hat 20k neue Invitecodes bereitgestellt, die eingepflegt werden müssen.
source: LQPP/insert-invite-codes.sql
Pack 1 - 10000 Stück
mpd@rogers:/opt/liquid_feedback$ sudo cp sqllib/insert-invite-codes.sql . mpd@rogers:/opt/liquid_feedback$ sudo vim insert-invite-codes.sql mpd@rogers:/opt/liquid_feedback$ sudo bin/psql-wrapper.sh insert-invite-codes.sql liquid_feedback_pp BEGIN INSERT 0 10000 COMMIT
Pack 2 - 10000 Stück
mpd@rogers:/opt/liquid_feedback$ sudo cp sqllib/insert-invite-codes.sql . mpd@rogers:/opt/liquid_feedback$ sudo vim insert-invite-codes.sql mpd@rogers:/opt/liquid_feedback$ sudo bin/psql-wrapper.sh insert-invite-codes.sql liquid_feedback_pp BEGIN INSERT 0 10000 COMMIT
2011-06-26 16:30 (mpd) - Löschung ungültiger Invite-Codes
Grund: Die Clearingstelle hat 294 Invite-Codes zur Löschung übermittelt. (siehe Verzeichnis Versand Referenzschlüssel an Clearingstelle zur Sperrung #9)
Verwendung der ungültigen Invite-Codes testen.
Vor der Löschung wird nach schon verwendeten Codes gesucht um die betreffenden Accounts zu sperren und die betreffenden Inivte-Codes zur nachvollziehbarkeit zu erhalten.
source: test_used_invalid_invites.sql
mpd@rogers:/opt/liquid_feedback$ sudo cp sqllib/test_used_invalid_invites.sql . mpd@rogers:/opt/liquid_feedback$ sudo vim test_used_invalid_invites.sql mpd@rogers:/opt/liquid_feedback$ sudo bin/psql-wrapper.sh test_used_invalid_invites.sql liquid_feedback_pp . . . (62 rows)
Ergebnis:
- 62 Invite-Codes wurden verwendet.
Die Teilnehmernummer und die bestätigte Benachrichtigungsadresse werden entnommen. Die betroffenen Teilnehmer werden angeschrieben und Informiert. (Email-Body: LQPP/email_accountsperrung) Die betroffenen Invite-Codes werden in einem Bericht an die Clearingstelle übermittelt.
Sperrung der Teilnehmer mit ungültigen Invite-Codes
source: delete_member.sql
mpd@rogers:/opt/liquid_feedback$ sudo cp sqllib/delete_member.sql . mpd@rogers:/opt/liquid_feedback$ sudo vim delete_member.sql mpd@rogers:/opt/liquid_feedback$ sudo bin/psql-wrapper.sh delete_member.sql liquid_feedback_pp
Löschung nicht verwendeter Invite-Codes
source: delete_invalid_invites.sql
mpd@rogers:/opt/liquid_feedback$ sudo cp sqllib/delete_invalid_invites.sql . mpd@rogers:/opt/liquid_feedback$ sudo vim delete_invalid_invites.sql mpd@rogers:/opt/liquid_feedback$ sudo bin/psql-wrapper.sh delete_invalid_invites.sql liquid_feedback_pp BEGIN DELETE 232 COMMIT
2011-04-15 00:00 (mpd) - Manuelles Einfrieren von Initiativen zur Bundesmitgliederversammlung und verkürzen der Eingefrorenphase
Grund: Rechtzeitige Abstimmung zum 13.5.2011 aufgrund des Bundesparteitags am 14.05.2011 für Programm- und Satzungsänderungsanträge sowie sonstige Anträge.
source: man_half_freeze_short_verification.sql
Abfrage der laufenden Initiativen mit Bedingungen entsprechend der source.
mpd@rogers:~$ sudo sudo -u www-data psql liquid_feedback_pp -c "SELECT id FROM issue WHERE issue.policy_id IN (1,2,3) AND accepted NOTNULL AND half_frozen ISNULL AND closed ISNULL;" id
721 737 739 728 741 738 736 740
(8 rows)
Datenbankdump durchführen
sudo sudo -u www-data pg_dump --disable-triggers --data-only --column-inserts liquid_feedback_pp > /opt/manual_db_dumps/pp_dump.2012-04-15_23-30.sql
Eingriff in die Datenbank
mpd@rogers:/opt/liquid_feedback$ sudo /etc/init.d/lf-daemon stop Stopping lf-daemon mpd@rogers:/opt/liquid_feedback$ sudo cp sqllib/man_half_freeze_short_verification.sql . mpd@rogers:/opt/liquid_feedback$ sudo bin/psql-wrapper.sh man_half_freeze_short_verification.sql liquid_feedback_pp BEGIN UPDATE 8 UPDATE 8 COMMIT mpd@rogers:/opt/liquid_feedback$ sudo /etc/init.d/lf-daemon start Starting lf-daemon
2011-01-18 14:15 (mpd) - Löschung ungültiger Invite-Codes
Grund: Die Clearingstelle hat 535 Invite-Codes zur Löschung übermittelt. (siehe Verzeichnis Versand Referenzschlüssel an Clearingstelle zur Sperrung #6)
Verwendung der ungültigen Invite-Codes testen.
Vor der Löschung wird nach schon verwendeten Codes gesucht um die betreffenden Accounts zu sperren und die betreffenden Inivte-Codes zur nachvollziehbarkeit zu erhalten.
source: test_used_invalid_invites.sql
mpd@rogers:/opt/liquid_feedback$ sudo cp sqllib/test_used_invalid_invites.sql . mpd@rogers:/opt/liquid_feedback$ sudo vim test_used_invalid_invites.sql mpd@rogers:/opt/liquid_feedback$ sudo bin/psql-wrapper.sh test_used_invalid_invites.sql liquid_feedback_pp . . . (52 rows)
Ergebnis:
- 52 Invite-Codes wurden verwendet.
Die Teilnehmernummer und die bestätigte Benachrichtigungsadresse werden entnommen. Die betroffenen Teilnehmer werden angeschrieben und Informiert. (Email-Body: LQPP/email_accountsperrung) Die betroffenen Invite-Codes werden in einem Bericht an die Clearingstelle übermittelt.
Sperrung der Teilnehmer mit ungültigen Invite-Codes
source: delete_member.sql
mpd@rogers:/opt/liquid_feedback$ sudo cp sqllib/delete_member.sql . mpd@rogers:/opt/liquid_feedback$ sudo vim delete_member.sql mpd@rogers:/opt/liquid_feedback$ sudo bin/psql-wrapper.sh delete_member.sql liquid_feedback_pp BEGIN delete_member --------------- (1 row) . . . COMMIT
Löschung nicht verwendeter Invite-Codes
source: delete_invalid_invites.sql
mpd@rogers:/opt/liquid_feedback$ sudo cp sqllib/delete_invalid_invites.sql . mpd@rogers:/opt/liquid_feedback$ sudo vim delete_invalid_invites.sql mpd@rogers:/opt/liquid_feedback$ sudo bin/psql-wrapper.sh delete_invalid_invites.sql liquid_feedback_pp BEGIN DELETE 483 COMMIT