LSA:Landesverband/Kommunikation/LiquidFeedback/Datenbankeingriffe

Aus Piratenwiki
Wechseln zu: Navigation, Suche

Ausgetretene Mitglieder sperren (02.11.2012)

Mehrere Mitglieder sind seit dem letzten mal ausgetreten. Diese müssen gesperrt werden.

Backup ziehen:

cd /opt/sql_backups
pg_dump liquid_feedback_lsa > backup_2012-11-02_22-40.sql

Die IDs der Invite Codes herausbekommen (und schauen, ob welche aktiv waren):

psql liquid_feedback_lsa

liquid_feedback_lsa=> SELECT id, invite_code, activated, active, locked, name
  FROM member
  WHERE invite_code IN (
    '***',
    '***'
  );

***
(2 Zeilen)

Es wurde von einer Person ein Account angelegt.

Anschließend wird für jeden Invite Code bzw. dessen ID folgende Funktion aufgerufen:

SELECT delete_member(***);

200 neue Invite Codes hinzufügen (02.11.2012)

psql -v ON_ERROR_STOP=1 -f invitecodes_2012-11-02.sql liquid_feedback_lsa

Kontingent war nicht gesetzt (22.10.2012)

Das Kontingent war nicht gesetzt. Dies hat auch lange nicht gestört, aber seit einem Update sind Einträge in dieser Tabelle notwendig, sonst ist das Erstellen von Initiativen nicht möglich.

su - www-data
www-data@lqfb /opt/sql_backups % psql liquid_feedback_lsa

liquid_feedback_lsa=> SELECT * FROM contingent;
 polling | time_frame | text_entry_limit | initiative_limit 
---------+------------+------------------+------------------
(0 Zeilen)

liquid_feedback_lsa=> INSERT INTO contingent (polling, time_frame, text_entry_limit, initiative_limit) VALUES (false, '1 hour', 20, 6);
INSERT 0 1
liquid_feedback_lsa=> INSERT INTO contingent (polling, time_frame, text_entry_limit, initiative_limit) VALUES (false, '1 day', 80, 12);
INSERT 0 1

Verkürzung einer Initiative (11.10.2012)

su - www-data
cd /opt/sql_backups
pg_dump liquid_feedback_lsa > backup_2012-10-11_20-02.sql
psql liquid_feedback_lsa

liquid_feedback_lsa=> SELECT issue_id, id, created, name FROM initiative WHERE issue_id IN (159);
 issue_id | id  |            created            |                               name                                
----------+-----+-------------------------------+-------------------------------------------------------------------
      159 | 282 | 2012-10-03 02:28:38.907757+02 | LimeSurvey-Umfrage Symposium 2012.5 (Kommunal- und Landespolitik)
(1 Zeile)

liquid_feedback_lsa=> SELECT id, state, accepted, half_frozen, fully_frozen, discussion_time, verification_time, voting_time FROM issue WHERE id IN (159) ORDER BY id;
 id  |   state    |           accepted            | half_frozen | fully_frozen | discussion_time | verification_time | voting_time 
-----+------------+-------------------------------+-------------+--------------+-----------------+-------------------+-------------
 159 | discussion | 2012-10-03 02:28:44.408593+02 |             |              | 15 days         | 8 days            | 8 days
(1 Zeile)

liquid_feedback_lsa=> UPDATE issue SET discussion_time = '13 days 12:00:00', verification_time = '1 day', voting_time = '4 days' WHERE id = 159;
UPDATE 1
liquid_feedback_lsa=> SELECT id, state, accepted, half_frozen, fully_frozen, discussion_time, verification_time, voting_time FROM issue WHERE id IN (159) ORDER BY id;
 id  |   state    |           accepted            | half_frozen | fully_frozen | discussion_time  | verification_time | voting_time 
-----+------------+-------------------------------+-------------+--------------+------------------+-------------------+-------------
 159 | discussion | 2012-10-03 02:28:44.408593+02 |             |              | 13 days 12:00:00 | 1 day             | 4 days
(1 Zeile)

Ausgetretene Mitglieder sperren (02.10.2012)

Mehrere Mitglieder sind seit dem letzten mal ausgetreten. Diese müssen gesperrt werden.

Backup ziehen:

cd /opt/sql_backups
pg_dump liquid_feedback_lsa > backup_2012-10-02_17-34.sql

Die IDs der Invite Codes herausbekommen (und schauen, ob welche aktiv waren):

psql liquid_feedback_lsa

liquid_feedback_lsa=> SELECT id, invite_code, activated, active, locked, name
  FROM member
  WHERE invite_code IN (
    '***',
    '***',
    '***',
    '***'
  );

***
(4 Zeilen)

Es wurde von niemanden ein Account angelegt.

Anschließend wird für jeden Invite Code bzw. dessen ID folgende Funktion aufgerufen:

SELECT delete_member(***);


manuelles anpassen der Phasenzeiten für Themen zu SÄA zum LPT 2012.2 (23.09.2012)

Zum LPT 2012.2 gibt es Satzungsänderungsanträge, die im LQFB abgestimmt werden, aber erst nach dem Landesparteitag fertig werden. Die Themen wurden in die nächsten Phasen verschoben und die Zeiten der Phasen angepasst, sodass sie am Freitag den 5.10. um 20 Uhr enden.

/etc/init.d/lighttpd stop
/etc/init.d/lf_updated stop

su - www-data
cd /opt/sql_backups
pg_dump liquid_feedback_lsa > backup_2012-09-23_22-48.sql

psql liquid_feedback_lsa

liquid_feedback_lsa=> SELECT issue_id, id, created, name FROM initiative WHERE issue_id IN (130, 134, 136, 131, 138) ORDER BY issue_id, id;
 issue_id | id  |            created            |                                                   name                                                   
----------+-----+-------------------------------+----------------------------------------------------------------------------------------------------------
      130 | 227 | 2012-07-14 13:43:19.514396+02 | Feststellung der Beschlussfähigkeit während einer Mitgliederversammlung
      130 | 230 | 2012-07-15 14:20:00.398645+02 | Feststellung der Beschlussfähigkeit während einer MV (Anzahl der Akkreditierten nach 3h / Beschlüsse)
      130 | 233 | 2012-07-16 11:38:05.487056+02 | Unterbrechung/Abbruch mit Hälfte/Drittel, Erstabstimmungszahl
      131 | 228 | 2012-07-14 15:01:03.825635+02 | § 11 - Satzungs- und Programmänderung - Deadline auch für Programmanträge
      131 | 234 | 2012-07-16 13:44:49.857211+02 | § 11 - Satzungs- und Programmänderung - Deadline auch für Programmanträge UND Positionspapiere
      134 | 235 | 2012-07-18 03:13:26.934021+02 | Ständige Mitgliederversammlung
      134 | 249 | 2012-08-14 16:13:23.248627+02 | keine Ständige Mitgliederversammlung
      136 | 237 | 2012-07-22 17:31:30.309941+02 | Gründung von Untergliederungen
      136 | 238 | 2012-07-22 17:46:58.538247+02 | Gründung von Untergliederungen (höhere Mindestzahl)
      136 | 239 | 2012-07-22 23:14:17.473185+02 | Gründung von Untergliederungen (Alternative 01: 10 insgesamt - 3/Kreis)
      136 | 250 | 2012-08-14 16:18:59.376245+02 | Gründung von Untergliederungen (Alternative 02: 20 insgesamt - 5/Kreis)
      136 | 254 | 2012-08-21 13:41:36.955512+02 | Gründung von Untergliederungen (erhöhte Mindestzahl - 10 Gründungswillige)
      136 | 255 | 2012-08-21 13:57:38.84803+02  | Gründung von Untergliederungen (erhöhte Mindestzahl - 20 Gründungswillige)
      138 | 242 | 2012-08-03 10:59:42.136569+02 | Satzungsänderungsantrag LPT2012.2: Wiedereinführung des Vorstandsamtes 'Generalsekretär'
(14 Zeilen)

liquid_feedback_lsa=> SELECT id, state, accepted, half_frozen, fully_frozen, discussion_time, verification_time, voting_time FROM issue WHERE id IN (130, 134, 136, 131, 138) ORDER BY id;
 id  |    state     |           accepted            |          half_frozen          |         fully_frozen          | discussion_time | verification_time | voting_time 
-----+--------------+-------------------------------+-------------------------------+-------------------------------+-----------------+-------------------+-------------
 130 | voting       | 2012-07-14 14:02:30.997965+02 | 2012-09-08 14:02:31.328725+02 | 2012-09-23 14:02:33.716837+02 | 56 days         | 15 days           | 15 days
 131 | voting       | 2012-07-14 16:16:24.07168+02  | 2012-09-08 16:16:27.156859+02 | 2012-09-23 16:16:29.183116+02 | 56 days         | 15 days           | 15 days
 134 | verification | 2012-07-18 10:12:48.521314+02 | 2012-09-12 10:12:49.751776+02 |                               | 56 days         | 15 days           | 15 days
 136 | verification | 2012-07-22 17:31:34.623282+02 | 2012-09-16 17:31:36.522866+02 |                               | 56 days         | 15 days           | 15 days
 138 | discussion   | 2012-08-03 13:10:55.089981+02 |                               |                               | 56 days         | 15 days           | 15 days
(5 Zeilen)

liquid_feedback_lsa=> SELECT id, state, accepted, voting_time, (CURRENT_TIMESTAMP - accepted) FROM issue WHERE id IN (138) ORDER BY id;
 id  |   state    |           accepted            | voting_time |        ?column?        
-----+------------+-------------------------------+-------------+------------------------
 138 | discussion | 2012-08-03 13:10:55.089981+02 | 15 days     | 51 days 09:38:12.43792
(1 Zeile)

liquid_feedback_lsa=> UPDATE issue SET discussion_time = '51 days 09:40:00' WHERE id = 138;
UPDATE 1

*kurz /etc/init.d/lf_updated start und wieder stop*

liquid_feedback_lsa=> SELECT id, state, accepted, half_frozen, fully_frozen, discussion_time, verification_time, voting_time FROM issue WHERE id IN (130, 134, 136, 131, 138) ORDER BY id;
 id  |    state     |           accepted            |          half_frozen          |         fully_frozen          | discussion_time  | verification_time | voting_time 
-----+--------------+-------------------------------+-------------------------------+-------------------------------+------------------+-------------------+-------------
 130 | voting       | 2012-07-14 14:02:30.997965+02 | 2012-09-08 14:02:31.328725+02 | 2012-09-23 14:02:33.716837+02 | 56 days          | 15 days           | 15 days
 131 | voting       | 2012-07-14 16:16:24.07168+02  | 2012-09-08 16:16:27.156859+02 | 2012-09-23 16:16:29.183116+02 | 56 days          | 15 days           | 15 days
 134 | verification | 2012-07-18 10:12:48.521314+02 | 2012-09-12 10:12:49.751776+02 |                               | 56 days          | 15 days           | 15 days
 136 | verification | 2012-07-22 17:31:34.623282+02 | 2012-09-16 17:31:36.522866+02 |                               | 56 days          | 15 days           | 15 days
 138 | verification | 2012-08-03 13:10:55.089981+02 | 2012-09-23 22:52:03.427472+02 |                               | 51 days 09:40:00 | 15 days           | 15 days
(5 Zeilen)

liquid_feedback_lsa=> SELECT id, state, half_frozen, verification_time, (CURRENT_TIMESTAMP - half_frozen) FROM issue WHERE id IN (134, 136, 138) ORDER BY id;
 id  |    state     |          half_frozen          | verification_time |        ?column?         
-----+--------------+-------------------------------+-------------------+-------------------------
 134 | verification | 2012-09-12 10:12:49.751776+02 | 15 days           | 11 days 12:41:17.300104
 136 | verification | 2012-09-16 17:31:36.522866+02 | 15 days           | 7 days 05:22:30.529014
 138 | verification | 2012-09-23 22:52:03.427472+02 | 15 days           | 00:02:03.624408
(3 Zeilen)

liquid_feedback_lsa=> UPDATE issue SET verification_time = '2 days' WHERE id = 138;
UPDATE 1
liquid_feedback_lsa=> UPDATE issue SET verification_time = '7 days 05:22:00' WHERE id = 136;
UPDATE 1
liquid_feedback_lsa=> UPDATE issue SET verification_time = '11 days 12:41:00' WHERE id = 134;
UPDATE 1

*kurz /etc/init.d/lf_updated start und wieder stop*

liquid_feedback_lsa=> SELECT id, state, accepted, half_frozen, fully_frozen, discussion_time, verification_time, voting_time FROM issue WHERE id IN (130, 134, 136, 131, 138) ORDER BY id;
 id  |    state     |           accepted            |          half_frozen          |         fully_frozen          | discussion_time  | verification_time | voting_time 
-----+--------------+-------------------------------+-------------------------------+-------------------------------+------------------+-------------------+-------------
 130 | voting       | 2012-07-14 14:02:30.997965+02 | 2012-09-08 14:02:31.328725+02 | 2012-09-23 14:02:33.716837+02 | 56 days          | 15 days           | 15 days
 131 | voting       | 2012-07-14 16:16:24.07168+02  | 2012-09-08 16:16:27.156859+02 | 2012-09-23 16:16:29.183116+02 | 56 days          | 15 days           | 15 days
 134 | voting       | 2012-07-18 10:12:48.521314+02 | 2012-09-12 10:12:49.751776+02 | 2012-09-23 22:56:38.644742+02 | 56 days          | 11 days 12:41:00  | 15 days
 136 | voting       | 2012-07-22 17:31:34.623282+02 | 2012-09-16 17:31:36.522866+02 | 2012-09-23 22:56:38.236494+02 | 56 days          | 7 days 05:22:00   | 15 days
 138 | verification | 2012-08-03 13:10:55.089981+02 | 2012-09-23 22:52:03.427472+02 |                               | 51 days 09:40:00 | 2 days            | 15 days
(5 Zeilen)

liquid_feedback_lsa=> SELECT id, state, fully_frozen, voting_time, ('2012-10-05 20:00:00' - fully_frozen) FROM issue WHERE id IN (130, 131, 134, 136) ORDER BY id;
 id  | state  |         fully_frozen          | voting_time |        ?column?         
-----+--------+-------------------------------+-------------+-------------------------
 130 | voting | 2012-09-23 14:02:33.716837+02 | 15 days     | 12 days 05:57:26.283163
 131 | voting | 2012-09-23 16:16:29.183116+02 | 15 days     | 12 days 03:43:30.816884
 134 | voting | 2012-09-23 22:56:38.644742+02 | 15 days     | 11 days 21:03:21.355258
 136 | voting | 2012-09-23 22:56:38.236494+02 | 15 days     | 11 days 21:03:21.763506
(4 Zeilen)

liquid_feedback_lsa=> UPDATE issue SET voting_time = '12 days 05:57:26' WHERE id = 130;
UPDATE 1
liquid_feedback_lsa=> UPDATE issue SET voting_time = '12 days 03:43:30' WHERE id = 131;
UPDATE 1
liquid_feedback_lsa=> UPDATE issue SET voting_time = '11 days 21:03:21' WHERE id = 134;
UPDATE 1
liquid_feedback_lsa=> UPDATE issue SET voting_time = '11 days 21:03:21' WHERE id = 136;
UPDATE 1

liquid_feedback_lsa=> SELECT id, state, half_frozen, verification_time, voting_time, ('2012-10-03 20:00:00' - half_frozen) FROM issue WHERE id IN (138) ORDER BY id;
 id  |    state     |          half_frozen          | verification_time | voting_time |        ?column?        
-----+--------------+-------------------------------+-------------------+-------------+------------------------
 138 | verification | 2012-09-23 22:52:03.427472+02 | 2 days            | 15 days     | 9 days 21:07:56.572528
(1 Zeile)

liquid_feedback_lsa=> UPDATE issue SET voting_time = '9 days 21:07:56' WHERE id = 138;
UPDATE 1

liquid_feedback_lsa=> SELECT id, state, accepted, half_frozen, fully_frozen, discussion_time, verification_time, voting_time FROM issue WHERE id IN (130, 134, 136, 131, 138) ORDER BY id;
 id  |    state     |           accepted            |          half_frozen          |         fully_frozen          | discussion_time  | verification_time |   voting_time    
-----+--------------+-------------------------------+-------------------------------+-------------------------------+------------------+-------------------+------------------
 130 | voting       | 2012-07-14 14:02:30.997965+02 | 2012-09-08 14:02:31.328725+02 | 2012-09-23 14:02:33.716837+02 | 56 days          | 15 days           | 12 days 05:57:26
 131 | voting       | 2012-07-14 16:16:24.07168+02  | 2012-09-08 16:16:27.156859+02 | 2012-09-23 16:16:29.183116+02 | 56 days          | 15 days           | 12 days 03:43:30
 134 | voting       | 2012-07-18 10:12:48.521314+02 | 2012-09-12 10:12:49.751776+02 | 2012-09-23 22:56:38.644742+02 | 56 days          | 11 days 12:41:00  | 11 days 21:03:21
 136 | voting       | 2012-07-22 17:31:34.623282+02 | 2012-09-16 17:31:36.522866+02 | 2012-09-23 22:56:38.236494+02 | 56 days          | 7 days 05:22:00   | 11 days 21:03:21
 138 | verification | 2012-08-03 13:10:55.089981+02 | 2012-09-23 22:52:03.427472+02 |                               | 51 days 09:40:00 | 2 days            | 9 days 21:07:56
(5 Zeilen)

liquid_feedback_lsa=> \q

exit

/etc/init.d/lighttpd start
/etc/init.d/lf_updated start

Ausgetretene Mitglieder sperren (30.08.2012)

Mehrere Mitglieder sind seit dem letzten mal ausgetreten bzw. in einen anderen Verband gewechselt (und hatte auch einen Invite Code erhalten). Diese müssen gesperrt werden.

Backup ziehen:

cd /opt/sql_backups
pg_dump liquid_feedback_lsa > backup_2012-08-30_16-07.sql

Die IDs der Invite Codes herausbekommen (und schauen, ob welche aktiv waren):

psql liquid_feedback_lsa

liquid_feedback_lsa=> SELECT id, invite_code, activated, active, locked, name
  FROM member
  WHERE invite_code IN (
    '***',
    '***',
    '***',
    '***',
    '***',
    '***',
    '***',
    '***'
  );

***
(8 Zeilen)

Es wurde von niemanden ein Account angelegt.

Anschließend wird für jeden Invite Code bzw. dessen ID folgende Funktion aufgerufen:

SELECT delete_member(***);


Ausgetretene Mitglieder sperren (15.07.2012)

Ein Mitglied ist seit dem letzten mal ausgetreten (und hatte auch einen Invite Code erhalten). Dieser muss gesperrt werden.

Backup ziehen:

cd /opt/sql_backups
pg_dump liquid_feedback_lsa > backup_2012-07-15_19-27.sql

Herausfinden, ob der Invite Code benutzt wurde:

psql liquid_feedback_lsa

liquid_feedback_lsa=> 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 (
    '***'
  );

***
(0 Zeilen)

Diese Person hat mit seinem Invite Code keinen Account angelegt.

Anschließend den unbenutzten Invite Codes entfernen:

nano 2012-07-15_austritte_codes_loeschen.sql
BEGIN;
 DELETE FROM invite_code
   WHERE used ISNULL AND code IN (
     '***'
   );
COMMIT;

psql liquid_feedback_lsa < 2012-07-15_austritte_codes_loeschen.sql 
BEGIN
DELETE 1
COMMIT

Wie zu erwarten war, wurde der eine Code entfernt.


Ausgetretene Mitglieder sperren (02.06.2012)

Drei Mitglieder sind seit dem letzten mal ausgetreten (und hatten auch einen Invite Code erhalten). Diese müssen gesperrt werden.

Backup ziehen:

cd /opt/sql_backups
pg_dump liquid_feedback_lsa > backup_2012-06-02_13-00.sql

Herausfinden, welche Invite Codes benutzt wurden:

psql liquid_feedback_lsa

liquid_feedback_lsa=> 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 (
    '***',
    '***',
    '***'
  );

***
(0 Zeilen)

Niemand von den drei ehemaligen Mitgliedern hat mit seinem Invite Code ein Account angelegt.

Anschließend die unbenutzten Invite Codes entfernen:

nano 2012-06-02_austritte_codes_loeschen.sql
BEGIN;
 DELETE FROM invite_code
   WHERE used ISNULL AND code IN (
     '***',
     '***',
     '***'
   );
COMMIT;

psql liquid_feedback_lsa < 2012-06-02_austritte_codes_loeschen.sql 
BEGIN
DELETE 3
COMMIT

Wie zu erwarten war, wurden die drei Codes entfernt.


200 neue Invite Codes hinzufügen (22.04.2012)

psql -v ON_ERROR_STOP=1 -f invitecodes_2012-04-22.sql liquid_feedback_lsa


Ausgetretene Mitglieder sperren (22.04.2012)

Vier Mitglieder sind seit Anfang Januar ausgetreten. Diese müssen gesperrt werden.

Backup ziehen:

cd /opt/sql_backups
pg_dump liquid_feedback_lsa > backup_2012-04-22_17-50.sql

Herausfinden, welche Invite Codes benutzt wurden:

psql liquid_feedback_lsa

liquid_feedback_lsa=> 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 (                                                                                                                                   
    '***',
    '***',                                                                                                                                     
    '***',                                                                                                                                     
    '***'
  );

***
(2 Zeilen)

Zwei ehemalige Mitglieder hatten Benutzeraccounts. Diese werden gesperrt und anonymisiert:

cd /opt/sql_eingriffe/
nano 2012-04-22_austritte_sperren.sql
BEGIN;
 SELECT delete_member(**);
 UPDATE member SET name = 'Gesperrt2' WHERE id = **;
 UPDATE member_history SET name = 'Gesperrt2' WHERE member_id = **;

 SELECT delete_member(**);
 UPDATE member SET name = 'Gesperrt3' WHERE id = **;
 UPDATE member_history SET name = 'Gesperrt3' WHERE member_id = **;
COMMIT;

psql liquid_feedback_lsa < 2012-04-22_austritte_sperren.sql
BEGIN
 delete_member 
---------------
 
(1 Zeile)

UPDATE 1
UPDATE 2
 delete_member 
---------------
 
(1 Zeile)

UPDATE 1
UPDATE 2
COMMIT

Anschließend die unbenutzten Invite Codes entfernen:

nano 2012-04-22_austritte_codes_loeschen.sql
BEGIN;
 DELETE FROM invite_code
   WHERE used ISNULL AND code IN (
     '***',
     '***',
     '***',
     '***'
   );
COMMIT;

psql liquid_feedback_lsa < 2012-04-22_austritte_codes_loeschen.sql 
BEGIN
DELETE 2
COMMIT

Wie zu erwarten war, wurden die zwei anderen Codes entfernt.


Manuelles Einfrieren der Anträge zum LPT 2012.1 (07.04.2012)

Alle Anträge, die nicht als "Schnellverfahren" oder "Schnelles Wahlprogramm" laufen und noch nicht eingefroren oder beendet sind, werden eingefroren sowie die "Eingefroren"-Phase auf 2 Tage, 5 Stunden und "Abstimmung"-Phase auf 5 Tage, 15 Stunden verkürzt. Die bedeutet, dass die Anträge von Montag um 5 Uhr bis Samstag um 20 Uhr abgestimmt werden können.

/etc/init.d/lighttpd stop
/etc/init.d/lf_updated stop

su - www-data
cd /opt/sql_backups
pg_dump liquid_feedback_lsa > backup_2012-04-07_00-01.sql

# alle Themen-IDs holen, die eingefroren werden sollen
echo "SELECT id FROM issue WHERE issue.policy_id NOT IN (6,9) AND accepted NOTNULL AND half_frozen ISNULL AND closed ISNULL ORDER BY id;" | psql liquid_feedback_lsa | grep -v "[^0-9 ]" | xargs | sed 's/ /, /g'
12, 14, 15, 17, 22, 28, 29, 38, 39, 40, 41, 42, 43, 45

# zur Sicherheit schauen, welche Initiativen betroffen sind
echo "SELECT issue_id, id, created, name FROM initiative WHERE issue_id IN (12, 14, 15, 17, 22, 28, 29, 38, 39, 40, 41, 42, 43, 45) ORDER BY issue_id, id;" | psql liquid_feedback_lsa
 issue_id | id |            created            |                                                        name                                                         
----------+----+-------------------------------+---------------------------------------------------------------------------------------------------------------------
       12 | 35 | 2012-02-22 18:00:34.439313+01 | Bewerberaufstellungen bei Wahlen zu Volksvertretungen
       12 | 41 | 2012-02-23 18:26:07.815419+01 | Bewerberaufstellungen bei Wahlen zu Volksvertretungen Alternative
       12 | 46 | 2012-02-24 10:35:43.386687+01 | keine unpraktische Regelung
       14 | 37 | 2012-02-23 09:13:20.346087+01 | Landärztemangel entgegensteuern
       15 | 38 | 2012-02-23 09:59:52.798819+01 | Wahlkampf
       15 | 60 | 2012-03-03 15:15:59.893418+01 | kein populistischer Wahlkampf
       17 | 45 | 2012-02-24 10:32:52.90697+01  | § 11 - Satzungs- und Programmänderung
       17 | 75 | 2012-03-12 18:12:43.255207+01 | § 11 - Satzungs- und Programmänderung Alternative
       22 | 54 | 2012-02-27 11:11:28.492234+01 | 'Vergaberegister zur Korruptionsbekämpfung' - Positivliste
       22 | 55 | 2012-02-27 11:27:02.732133+01 | 'Vergaberegister zur Korruptionsbekämpfung' - Negativliste
       28 | 66 | 2012-03-09 23:07:23.519622+01 | Herabsetzung des aktiven Wahlalters auf 12 Jahre bei Landtagswahlen
       28 | 67 | 2012-03-09 23:13:34.606949+01 | Herabsetzung des aktiven Wahlalters auf 0 Jahre bei Lantagswahlen
       29 | 68 | 2012-03-11 03:48:33.541727+01 | Liquid Democracy
       38 | 80 | 2012-03-15 16:27:58.729438+01 | Ladungsmodalitäten - Anpassung §9b (2) (Der Landesparteitag) an Bundessatzung
       39 | 81 | 2012-03-22 16:52:13.488152+01 | Aufhebung von §5 FeiertG LSA (Tanzverbot u.a. an Feiertagen)
       40 | 82 | 2012-03-25 16:26:38.288489+02 | Flächendeckendes barrierefreies Notruf- und Informationssystem per Mobilfunk (SMS-Notruf)
       40 | 83 | 2012-03-27 15:19:40.943212+02 | Flächendeckendes barrierefreies Notruf- und Informationssystem per Mobilfunk (SMS-Notruf) - Zielgruppe präzisiert
       41 | 84 | 2012-03-29 03:42:22.981183+02 | Geschlechter- und Familienpolitik
       42 | 85 | 2012-03-29 04:41:34.747686+02 | Ablehnung von Fracking
       43 | 86 | 2012-03-30 11:17:10.763964+02 | § 2 (2) - Mitgliedschaft (Änderung)
       43 | 87 | 2012-03-30 12:48:17.204362+02 | keine Änderung
       45 | 90 | 2012-04-04 08:53:07.728662+02 | Strafgesetzbuch § 233 erweitern auf Deutschland
(22 Zeilen)

cd /opt/sql_eingriffe
nano 2012-04-07_einfrieren.sql
BEGIN;

UPDATE issue
   SET half_frozen='2012-04-07 0:05',
       verification_time = '2 days 5 hours',
       voting_time = '5 days 15 hours'
   WHERE id IN (12, 14, 15, 17, 22, 28, 29, 38, 39, 40, 41, 42, 43, 45);

COMMIT;

psql liquid_feedback_lsa < ./2012-04-07_einfrieren.sql 
BEGIN
UPDATE 14
COMMIT

exit

/etc/init.d/lighttpd start
/etc/init.d/lf_updated start


Sperrung eines Mitglieds (12.03.2012)

Mitglied mit ID 87 hat gegen Nutzungsbedingungen verstoßen. Per Umlaufbeschluss wurde die Sperrung beschlossen. Der Name wurde wegen einer aktuellen Anfrage nach BDSG anonymisiert.

psql liquid_feedback_lsa

liquid_feedback_lsa=> SELECT delete_member(87);
 delete_member 
---------------
 
(1 Zeile)

liquid_feedback_lsa=> UPDATE member SET name = 'Gesperrt' WHERE id = 87;
UPDATE 1

liquid_feedback_lsa=> UPDATE member_history SET name = 'Gesperrt' WHERE member_id = 87;
UPDATE 2


Anfrage von Alex bzgl. falsches Regelwerk (11.03.2012)

psql liquid_feedback_lsa

liquid_feedback_lsa=> SELECT id, name, admission_time, discussion_time, verification_time, voting_time FROM policy;
 id |                     name                     | admission_time | discussion_time | verification_time | voting_time 
----+----------------------------------------------+----------------+-----------------+-------------------+-------------
  1 | Satzungsänderung                             | 15 days        | 56 days         | 15 days           | 15 days
  2 | Programmänderung                             | 15 days        | 56 days         | 15 days           | 15 days
  3 | Wahlprogramm                                 | 15 days        | 56 days         | 15 days           | 15 days
  4 | sonstiger LMV-Beschluss                      | 8 days         | 15 days         | 8 days            | 8 days
  5 | Meinungsbild / Beschlussvorlage              | 8 days         | 15 days         | 8 days            | 8 days
  6 | Schnellverfahren                             | 30:00:00       | 30:00:00        | 30:00:00          | 60:00:00
  7 | Änderung von Themenbereichen/Quoren/Fristen  | 8 days         | 15 days         | 8 days            | 8 days
  8 | Abstimmungsstreitfrage                       | 8 days         | 15 days         | 8 days            | 8 days
  9 | Schnelles Wahlprogramm                       | 7 days         | 7 days          | 2 days            | 7 days
(9 Zeilen)

liquid_feedback_lsa=> SELECT id, policy_id, admission_time, discussion_time, verification_time, voting_time FROM issue WHERE id IN (31, 32, 33, 34) ORDER BY id;
 id | policy_id | admission_time | discussion_time | verification_time | voting_time 
----+-----------+----------------+-----------------+-------------------+-------------
 31 |         2 | 15 days        | 56 days         | 15 days           | 15 days
 32 |         2 | 15 days        | 56 days         | 15 days           | 15 days
 33 |         2 | 15 days        | 56 days         | 15 days           | 15 days
 34 |         9 | 7 days         | 7 days          | 2 days            | 7 days
(4 Zeilen)

liquid_feedback_lsa=> UPDATE issue SET policy_id = 9, admission_time = '7 days', discussion_time='7 days', verification_time='2 days', voting_time='7 days' WHERE id IN (31, 32, 33);
UPDATE 3

liquid_feedback_lsa=> SELECT id, policy_id, admission_time, discussion_time, verification_time, voting_time FROM issue WHERE id IN (31, 32, 33, 34) ORDER BY id;
 id | policy_id | admission_time | discussion_time | verification_time | voting_time 
----+-----------+----------------+-----------------+-------------------+-------------
 31 |         9 | 7 days         | 7 days          | 2 days            | 7 days
 32 |         9 | 7 days         | 7 days          | 2 days            | 7 days
 33 |         9 | 7 days         | 7 days          | 2 days            | 7 days
 34 |         9 | 7 days         | 7 days          | 2 days            | 7 days
(4 Zeilen)


Installation (30.01.2012)

Datenbank anlegen:

createdb liquid_feedback_lsa

Datenstruktur einfügen:

psql -v ON_ERROR_STOP=1 -f core.sql liquid_feedback_lsa

Themenbereiche und Regelwerke anlegen:

psql -v ON_ERROR_STOP=1 -f lsa_core.sql liquid_feedback_lsa

Inhalt:

BEGIN;

SET search_path = public, pg_catalog;


DELETE FROM "allowed_policy";
DELETE FROM "policy";
DELETE FROM "area";
DELETE FROM "contingent";

--
-- Name: area_id_seq; Type: SEQUENCE SET; Schema: public; Owner: www-data
--

SELECT pg_catalog.setval('area_id_seq', 18, true);


--
-- Name: policy_id_seq; Type: SEQUENCE SET; Schema: public; Owner: www-data
--

SELECT pg_catalog.setval('policy_id_seq', 9, true);


--
-- Data for Name: area; Type: TABLE DATA; Schema: public; Owner: www-data
--

INSERT INTO area VALUES (11, true, 'sonstige innerparteiliche Angelegenheiten', 'Alle innerparteilichen(!) Angelegenheiten, die in keinen der anderen Themenbereiche hineinpassen, sind in diesem Bereich aufgehoben.', 0, 0, 0, '''alle'':4 ''anderen'':11 ''angelegenheiten'':3,6 ''aufgehoben'':18 ''bereich'':17 ''der'':10 ''die'':7 ''diesem'':16 ''hineinpassen'':13 ''in'':8,15 ''innerparteiliche'':2 ''innerparteilichen'':5 ''keinen'':9 ''sind'':14 ''sonstige'':1 ''themenbereiche'':12');
INSERT INTO area VALUES (17, true, 'Urheberrecht', '', 0, 0, 0, '''urheberrecht'':1');
INSERT INTO area VALUES (12, true, 'sonstige politische Themen', 'Politische Themen, die über innerparteiliche Angelegenheiten hinausgehen und in keinen der anderen Themenbereiche hineinpassen, gehören in diesen Bereich.', 0, 0, 0, '''anderen'':15 ''angelegenheiten'':9 ''ber'':7 ''bereich'':22 ''der'':14 ''die'':6 ''diesen'':21 ''geh'':18 ''hinausgehen'':10 ''hineinpassen'':17 ''in'':12,20 ''innerparteiliche'':8 ''keinen'':13 ''politische'':2,4 ''ren'':19 ''sonstige'':1 ''themen'':3,5 ''themenbereiche'':16 ''und'':11');
INSERT INTO area VALUES (18, true, 'Wirtschaft und Soziales', '', 0, 0, 0, '''soziales'':3 ''und'':2 ''wirtschaft'':1');
INSERT INTO area VALUES (2, true, 'Außenpolitik', '', 0, 0, 0, '''au'':1 ''enpolitik'':2');
INSERT INTO area VALUES (13, true, 'Stadtentwicklung, Bau und Verkehr', '', 0, 0, 0, '''bau'':2 ''stadtentwicklung'':1 ''und'':3 ''verkehr'':4');
INSERT INTO area VALUES (10, true, 'Sandkasten / Spielwiese', 'Im sogenannten Sandkasten bzw. auf der Spielwiese kann der Umgang mit dem System geübt werden. Alle beschlossenen Anträge sind zwar öffentlich, haben jedoch keine reale Bedeutung, weshalb die Unterstützung von Anträgen in diesem Themenbereich nicht als politische Aussage zu verstehen ist.', 0, 0, 0, '''alle'':19 ''als'':42 ''antr'':21,36 ''auf'':7 ''aussage'':44 ''bedeutung'':30 ''beschlossenen'':20 ''bt'':17 ''bzw'':6 ''dem'':14 ''der'':8,11 ''die'':32 ''diesem'':39 ''ffentlich'':25 ''ge'':16,22 ''gen'':37 ''haben'':26 ''im'':3 ''in'':38 ''ist'':47 ''jedoch'':27 ''kann'':10 ''keine'':28 ''mit'':13 ''nicht'':41 ''politische'':43 ''reale'':29 ''sandkasten'':1,5 ''sind'':23 ''sogenannten'':4 ''spielwiese'':2,9 ''system'':15 ''themenbereich'':40 ''tzung'':34 ''umgang'':12 ''unterst'':33 ''verstehen'':46 ''von'':35 ''werden'':18 ''weshalb'':31 ''zu'':45 ''zwar'':24');
INSERT INTO area VALUES (15, true, 'Tagespolitik', 'Stellungnahmen oder Entscheidungen zu tagespolitischen Ereignissen können hier beschlossen bzw. getroffen werden.', 0, 0, 0, '''beschlossen'':11 ''bzw'':12 ''entscheidungen'':4 ''ereignissen'':7 ''getroffen'':13 ''hier'':10 ''k'':8 ''nnen'':9 ''oder'':3 ''stellungnahmen'':2 ''tagespolitik'':1 ''tagespolitischen'':6 ''werden'':14 ''zu'':5');
INSERT INTO area VALUES (5, true, 'innerparteiliche Finanzen', '', 0, 0, 0, '''finanzen'':2 ''innerparteiliche'':1');
INSERT INTO area VALUES (8, true, 'Organisation der Landesmitgliederversammlung', 'Anträge zur Organisation der jeweils nächsten Landesmitgliederversammlung einschließlich ihrer Geschäftsordnung', 0, 0, 0, '''antr'':4 ''chsten'':11 ''der'':2,8 ''einschlie'':13 ''ftsordnung'':17 ''ge'':5 ''gesch'':16 ''ihrer'':15 ''jeweils'':9 ''landesmitgliederversammlung'':3,12 ''lich'':14 ''n'':10 ''organisation'':1,7 ''zur'':6');
INSERT INTO area VALUES (6, true, 'Satzung und Parteistruktur', 'Alle Anträge, die die Satzung oder die Parteistruktur betreffen, müssen in diesem Themenbereich diskutiert und abgestimmt werden.', 0, 0, 0, '''abgestimmt'':21 ''alle'':4 ''antr'':5 ''betreffen'':13 ''die'':7,8,11 ''diesem'':17 ''diskutiert'':19 ''ge'':6 ''in'':16 ''m'':14 ''oder'':10 ''parteistruktur'':3,12 ''satzung'':1,9 ''ssen'':15 ''themenbereich'':18 ''und'':2,20 ''werden'':22');
INSERT INTO area VALUES (16, true, 'Umwelt, Gesundheit und Ernährung', '', 0, 0, 0, '''ern'':4 ''gesundheit'':2 ''hrung'':5 ''umwelt'':1 ''und'':3');
INSERT INTO area VALUES (4, true, 'Bürgerrechte, Datenschutz und Sicherheitspolitik', '', 0, 0, 0, '''b'':1 ''datenschutz'':3 ''rgerrechte'':2 ''sicherheitspolitik'':5 ''und'':4');
INSERT INTO area VALUES (1, true, 'Aktionen', '', 0, 0, 0, '''aktionen'':1');
INSERT INTO area VALUES (3, true, 'Bildung und Forschung', '', 0, 0, 0, '''bildung'':1 ''forschung'':3 ''und'':2');
INSERT INTO area VALUES (14, true, 'Streitfragen zu Abstimmungen', 'Hier dürfen Abstimmungsprozesse zu einem oder mehreren Anträgen angefochten werden, z.B. weil ein Antrag mittels Abstimmung im falschen Themenbereich beschlossen wurde oder ein für den gegebenen Fall unerlaubtes Abstimmungsverfahren gewählt wurde.', 0, 0, 0, '''abstimmung'':21 ''abstimmungen'':3 ''abstimmungsprozesse'':7 ''abstimmungsverfahren'':35 ''angefochten'':14 ''antr'':12 ''antrag'':19 ''beschlossen'':25 ''d'':5 ''den'':31 ''ein'':18,28 ''einem'':9 ''f'':29 ''fall'':33 ''falschen'':23 ''gegebenen'':32 ''gen'':13 ''gew'':36 ''hier'':4 ''hlt'':37 ''im'':22 ''mehreren'':11 ''mittels'':20 ''oder'':10,27 ''r'':30 ''rfen'':6 ''streitfragen'':1 ''themenbereich'':24 ''unerlaubtes'':34 ''weil'':17 ''werden'':15 ''wurde'':26,38 ''z.b'':16 ''zu'':2,8');
INSERT INTO area VALUES (9, true, 'Organisatorisches', '', 0, 0, 0, '''organisatorisches'':1');
INSERT INTO area VALUES (7, true, 'Liquid Democracy Systembetrieb', 'Anträge bezüglich des Betriebs dieses Liquid Democracy Systems können hier diskutiert und abgestimmt werden, z.B. Anlegen oder Schließen von Themenbereichen oder Änderungen von Quoren und Fristen.', 0, 0, 0, '''abgestimmt'':19 ''anlegen'':22 ''antr'':4 ''betriebs'':9 ''bez'':6 ''democracy'':2,12 ''des'':8 ''dieses'':10 ''diskutiert'':17 ''en'':25 ''fristen'':33 ''ge'':5 ''glich'':7 ''hier'':16 ''k'':14 ''liquid'':1,11 ''nderungen'':29 ''nnen'':15 ''oder'':23,28 ''quoren'':31 ''schlie'':24 ''systembetrieb'':3 ''systems'':13 ''themenbereichen'':27 ''und'':18,32 ''von'':26,30 ''werden'':20 ''z.b'':21');


--
-- Data for Name: policy; Type: TABLE DATA; Schema: public; Owner: www-data
--

INSERT INTO policy VALUES (1, 1, true, 'Satzungsänderung', 'Satzungsänderungsantrag zur Vorlage bei der nächst möglichen Landesmitgliederversammlung', '15 days', '56 days', '15 days', '15 days', 10, 100, 10, 100, 2, 3, false);
INSERT INTO policy VALUES (2, 2, true, 'Programmänderung', 'Antrag zur Änderung des Parteiprogramms (Landesprogramm) zur Vorlage bei der nächst möglichen Landesmitgliederversammlung', '15 days', '56 days', '15 days', '15 days', 10, 100, 10, 100, 2, 3, false);
INSERT INTO policy VALUES (3, 3, true, 'Wahlprogramm', 'Antrag auf Beschluss/Änderung des Wahlprogramms zur Vorlage bei der nächst möglichen Landesmitgliederversammlung', '15 days', '56 days', '15 days', '15 days', 10, 100, 10, 100, 2, 3, false);
INSERT INTO policy VALUES (4, 4, true, 'sonstiger LMV-Beschluss', 'Antrag zur Vorlange bei der nächsten Landesmitgliederversammlung, sofern es sich nicht um Satzungs-, Programm- oder Wahlprogrammänderungen handelt', '8 days', '15 days', '8 days', '8 days', 10, 100, 10, 100, 1, 2, true);
INSERT INTO policy VALUES (5, 5, true, 'Meinungsbild / Beschlussvorlage', 'Meinungsbild um Squads, Vorstand und anderen Organen eine Orientierungshilfe zu geben. Es können auch Beschlussvorlagen für den Vorstand mit diesem Verfahren entwickelt werden.', '8 days', '15 days', '8 days', '8 days', 10, 100, 10, 100, 1, 2, true);
INSERT INTO policy VALUES (6, 6, true, 'Schnellverfahren', 'Dieses Verfahren soll nur verwendet werden, wenn eine kurzfristige Abstimmung notwendig ist, und ein späteres Ergebnis gar keinen oder nur eingeschränkten Nutzen hat.', '30:00:00', '30:00:00', '30:00:00', '60:00:00', 10, 100, 10, 100, 1, 2, true);
INSERT INTO policy VALUES (7, 7, true, 'Änderung von Themenbereichen/Quoren/Fristen', '', '8 days', '15 days', '8 days', '8 days', 10, 100, 10, 100, 2, 3, true);
INSERT INTO policy VALUES (8, 8, true, 'Abstimmungsstreitfrage', '', '8 days', '15 days', '8 days', '8 days', 10, 100, 10, 100, 1, 2, true);
INSERT INTO policy VALUES (9, 9, true, 'Schnelles Wahlprogramm', '', '7 days', '7 days', '2 days', '7 days', 10, 100, 10, 100, 2, 3, false);


--
-- Data for Name: allowed_policy; Type: TABLE DATA; Schema: public; Owner: www-data
--

INSERT INTO allowed_policy VALUES (1, 4, false);
INSERT INTO allowed_policy VALUES (1, 5, false);
INSERT INTO allowed_policy VALUES (1, 6, false);
INSERT INTO allowed_policy VALUES (2, 5, false);
INSERT INTO allowed_policy VALUES (2, 3, false);
INSERT INTO allowed_policy VALUES (2, 9, false);
INSERT INTO allowed_policy VALUES (2, 6, false);
INSERT INTO allowed_policy VALUES (2, 2, false);
INSERT INTO allowed_policy VALUES (3, 5, false);
INSERT INTO allowed_policy VALUES (3, 3, false);
INSERT INTO allowed_policy VALUES (3, 9, false);
INSERT INTO allowed_policy VALUES (3, 6, false);
INSERT INTO allowed_policy VALUES (3, 2, false);
INSERT INTO allowed_policy VALUES (4, 5, false);
INSERT INTO allowed_policy VALUES (4, 3, false);
INSERT INTO allowed_policy VALUES (4, 9, false);
INSERT INTO allowed_policy VALUES (4, 6, false);
INSERT INTO allowed_policy VALUES (4, 2, false);
INSERT INTO allowed_policy VALUES (5, 4, false);
INSERT INTO allowed_policy VALUES (5, 5, false);
INSERT INTO allowed_policy VALUES (5, 6, false);
INSERT INTO allowed_policy VALUES (6, 4, false);
INSERT INTO allowed_policy VALUES (6, 5, false);
INSERT INTO allowed_policy VALUES (6, 6, false);
INSERT INTO allowed_policy VALUES (7, 4, false);
INSERT INTO allowed_policy VALUES (7, 5, false);
INSERT INTO allowed_policy VALUES (7, 6, false);
INSERT INTO allowed_policy VALUES (7, 7, false);
INSERT INTO allowed_policy VALUES (8, 4, false);
INSERT INTO allowed_policy VALUES (8, 5, false);
INSERT INTO allowed_policy VALUES (8, 6, false);
INSERT INTO allowed_policy VALUES (9, 4, false);
INSERT INTO allowed_policy VALUES (9, 5, false);
INSERT INTO allowed_policy VALUES (9, 6, false);
INSERT INTO allowed_policy VALUES (10, 5, false);
INSERT INTO allowed_policy VALUES (10, 9, false);
INSERT INTO allowed_policy VALUES (10, 6, false);
INSERT INTO allowed_policy VALUES (6, 1, false);
INSERT INTO allowed_policy VALUES (11, 4, false);
INSERT INTO allowed_policy VALUES (11, 5, false);
INSERT INTO allowed_policy VALUES (11, 6, false);
INSERT INTO allowed_policy VALUES (12, 5, false);
INSERT INTO allowed_policy VALUES (12, 3, false);
INSERT INTO allowed_policy VALUES (12, 9, false);
INSERT INTO allowed_policy VALUES (12, 6, false);
INSERT INTO allowed_policy VALUES (12, 2, false);
INSERT INTO allowed_policy VALUES (13, 5, false);
INSERT INTO allowed_policy VALUES (13, 3, false);
INSERT INTO allowed_policy VALUES (13, 9, false);
INSERT INTO allowed_policy VALUES (13, 6, false);
INSERT INTO allowed_policy VALUES (13, 2, false);
INSERT INTO allowed_policy VALUES (14, 8, true);
INSERT INTO allowed_policy VALUES (15, 4, false);
INSERT INTO allowed_policy VALUES (15, 5, false);
INSERT INTO allowed_policy VALUES (15, 3, false);
INSERT INTO allowed_policy VALUES (15, 9, false);
INSERT INTO allowed_policy VALUES (15, 6, false);
INSERT INTO allowed_policy VALUES (16, 5, false);
INSERT INTO allowed_policy VALUES (16, 3, false);
INSERT INTO allowed_policy VALUES (16, 9, false);
INSERT INTO allowed_policy VALUES (16, 6, false);
INSERT INTO allowed_policy VALUES (16, 2, false);
INSERT INTO allowed_policy VALUES (17, 5, false);
INSERT INTO allowed_policy VALUES (17, 3, false);
INSERT INTO allowed_policy VALUES (17, 9, false);
INSERT INTO allowed_policy VALUES (17, 6, false);
INSERT INTO allowed_policy VALUES (17, 2, false);
INSERT INTO allowed_policy VALUES (18, 5, false);
INSERT INTO allowed_policy VALUES (18, 3, false);
INSERT INTO allowed_policy VALUES (18, 9, false);
INSERT INTO allowed_policy VALUES (18, 6, false);
INSERT INTO allowed_policy VALUES (18, 2, false);

COMMIT;

500 Invite Codes einfügen:

psql -v ON_ERROR_STOP=1 -f invitecodes_2012-01-30.sql liquid_feedback_lsa

Admin Status setzen:

psql liquid_feedback_lsa
liquid_feedback_lsa=> UPDATE member SET admin = true WHERE id = 1;