LQPP/Datenbankeingriffe/Archiv2011

Aus Piratenwiki
Wechseln zu: Navigation, Suche

LQPP/Datenbankeingriffe -- Archiv für das Jahr 2011.

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