Rollen zuordnen (Spielwiese)

Topics from older beta tests.
Gesperrt
fly2me
Former team member
Beiträge: 300
Registriert: 27. Nov 2006, 10:38
Wohnort: Zürich

Rollen zuordnen (Spielwiese)

Beitrag von fly2me »

Bin als Vorstand angemeldet und auf meinem eigenen Profil. Dort möchte ich mir selbst eine weitere Rolle zuordnen und erhalte:

Folgender Fehler trat beim Zugriff auf die Datenbank auf:

Errorcode: 1062
Duplicate entry '102-381' for key 2
Benutzeravatar
fasse
Administrator
Beiträge: 6163
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Hab die Ursache des Fehlers gefunden.

Du hast der Rolle Newsletter alle anderen Rollen als Abhängig zugeordnet.
Ordnet man nun einem Mitglied irgendeine Rolle zu, so wird in roles_save.php bei den Abhängigkeiten nicht geprüft, ob das Mitglied bereits dieser Rolle zugeordnet wird. Es wird einfach zugeordnet und dann fällt die DB auf die Nase, da dann ein Duplicate-Key existiert.
milkaman
Former team member
Beiträge: 129
Registriert: 22. Feb 2006, 18:07

Beitrag von milkaman »

Hi,

eigentlich sollten keine doppelten Eintraege gemacht werden, da ich ein INSERT IGNORE mache...

Gruss

Roland
Benutzeravatar
fasse
Administrator
Beiträge: 6163
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Hi Roland,

der hier gemeldete Fehler lag daran, dass ich die Zeile mit "ON DUPLICATE KEY" entfernt hatte. Diese hab ich nun wieder hinzugefügt, allerdings kommt jetzt die Online-DB nicht mit der Syntax klar.

Dies ist auch die Ursache für Joeschs Fehler bei der Registrierung.

Scheinbar kennt MySql4 die Syntax "ON DUPLICATE KEY" nicht.

Schaust du noch mal danach ?

Gruß
Fasse
milkaman
Former team member
Beiträge: 129
Registriert: 22. Feb 2006, 18:07

Beitrag von milkaman »

Mache ich gleich
milkaman
Former team member
Beiträge: 129
Registriert: 22. Feb 2006, 18:07

Beitrag von milkaman »

ON DUPLICATE KEY wird erst ab version 4.1 unterstützt. Ich habe das jetzt mal in ein Insert Ignore umgewandelt. Wenn die Rollenzuordnung schon existiert wird halt nichts gemacht.

Kann leider nur den Gutfall hier testen, da ich keine alte DB habe. Aber das koennen wir ja später nachholen.
Benutzeravatar
fasse
Administrator
Beiträge: 6163
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Das Zuordnen klappt jetzt.

Allerdings bin ich nun auf ein neues Problem gestoßen.

Ich habe eingetragen, dass jeder, der die Rolle FHB 22 zugeordnet bekommt, auch automatisch in den Vorstand kommt. Ordnet man nun dem User Hans Dampf die Rolle FHB 22 zu, so wird er nicht automatisch Mitglied im Vorstand.

Dies liegt daran, dass er schon mal im Vorstand war, aber die Mitgliedschaft beendet wurde. Aber eigentlich wäre es jetzt schon richtig, wenn er wieder dem Vorstand zugeordnet würde.
milkaman
Former team member
Beiträge: 129
Registriert: 22. Feb 2006, 18:07

Beitrag von milkaman »

Mist, das habe ich vergessen. Dann muss ich das setzen der abhaengigen Rollen doch noch etwas anders machen.

Dann komme ich um Datenbankabfragen wohl nicht herum, oder muss ein REPLACE statt insert machen. Werde ich mir heute Abend mal anschauen.
Benutzeravatar
fasse
Administrator
Beiträge: 6163
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Hi Roland,

ich hatte auch schon mal kurz reingeschaut. Du müsstest dann auch noch mal bei der Erstellung des Rollenarrays schauen. Dort werden nur Rollen reingeschrieben, wenn vorher ein Insert in die Member-Tabelle gemacht wurde. Wird aber auch die Rolle FHB 22 nur per Update auf aktiv gesetzt, so wird die Rolle Vorstand nicht in das Array geschrieben.

Gruß
Fasse
Benutzeravatar
fasse
Administrator
Beiträge: 6163
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Hi Roland,

mit deiner aktuellen Korrektur funktioniert es jetzt einwandfrei.

Gruß
Fasse
Gesperrt