Erstellen von Beziehungen

Hast du einen Fehler in der aktuellen Version gefunden ? Diesen kannst du uns hier mitteilen und uns bei der Fehlersuche helfen.
joesch
Beiträge: 683
Registriert: 22. Mai 2006, 14:40
Kontaktdaten:

Erstellen von Beziehungen

Beitrag von joesch »

Hallo zusammen!

Ich habe von der letzten 3.1er-Version auf die 3.2 durch Austausch der Ordner adm_program, adm_themes und der Datei index.php aktualisiert sowie anschließend das datenbankupdate gefahren. Alles ist fehlefrei gelaufen.

Zum Thema Beziehungen:
Ich kann die relevanten Menüeinträge sowie die Definition der Beziehungstypen sehen, nutzen und ohne Fehlermeldungen speichern.
Allerdings werden neu angelegte Beziehungstypen nicht im System dargestellt, erstellte Beziehungen werden ebenfalls nicht angezeigt (im Profil).

Was könnte da die Ursache sein?

VG,
joesch
Benutzeravatar
fasse
Administrator
Beiträge: 6229
Registriert: 12. Nov 2005, 16:06

Re: Erstellen von Beziehungen

Beitrag von fasse »

Hallo Joesch,

wenn ich das richtig verstehe werden dir überhaupt keine Beziehungen angezeigt. Auch nicht solche wie "Eltern - Kind"?

Pflegen kannst du die Beziehungen aber?

Ist in den Einstellungen der Benutzerverwaltung der Haken bei eziehungen pflegen und anzeigen gesetzt?

Arbeitest du mit mehreren Organisationen?

Gruß
Fasse
joesch
Beiträge: 683
Registriert: 22. Mai 2006, 14:40
Kontaktdaten:

Re: Erstellen von Beziehungen

Beitrag von joesch »

Hallo fasse!

Ja - es werden keine Beziehungen dargestellt.

Pflegen kann ich die Beziehungen dahingehend, dass ich die Beziehung im Dialog erfassen und ohne Fehlermerldung speichern kann. Mehr sehe ich gegenwärtig nicht.

Der Haken bei "Beziehungen pflegen und anzeigen" ist gesetzt.

VG,
joesch
Benutzeravatar
fasse
Administrator
Beiträge: 6229
Registriert: 12. Nov 2005, 16:06

Re: Erstellen von Beziehungen

Beitrag von fasse »

Hallo Joesch,

kannst du bitte mal schauen ob in adm_my_files/Logs eine Logdatei angelegt wurde und dort was eingetragen wird, wenn du eine Beziehung pflegst.

Viele Grüße
Fasse
joesch
Beiträge: 683
Registriert: 22. Mai 2006, 14:40
Kontaktdaten:

Re: Erstellen von Beziehungen

Beitrag von joesch »

Nein, es gibt nur eine admidio...log.

In dieser gibt es folgenden Eintrag (in etwa zum Installationszeitpunkt):

Code: Alles auswählen

[2016-12-21 14:53:46] Admidio.WARNING: DEPRECATED: "$user->isWebmaster()" is deprecated, use "$user->isAdministrator()" instead!  {"file":"/is/htdocs/wp10588151_TSBSD9C2MS/www/adm/adm_program/system/classes/user.php","line":1742,"class":"User","function":"isWebmaster"}
VG,
joesch
joesch
Beiträge: 683
Registriert: 22. Mai 2006, 14:40
Kontaktdaten:

Re: Erstellen von Beziehungen

Beitrag von joesch »

Hallo Fasse,

ich habe mal aktuell auf die DFatenbank geschaut.
Wenngleich es in der GUI beim Anlegen einer Beziehung keine Fehlermeldung gibt, so wird trotzdem keine Beziehung in der Tabelle präfix_user_relations angelegt. Die Tabelle hat keinen Eintrag.

VG,
joesch
Benutzeravatar
fasse
Administrator
Beiträge: 6229
Registriert: 12. Nov 2005, 16:06

Re: Erstellen von Beziehungen

Beitrag von fasse »

Hallo Joesch,

es ist mir ein Rätsel. Hab mir gerade noch mal den Code angeschaut.

Kannst du vielleicht mal den Debug-Modus einschalten und dann die Beziehung versuchen zu speichern.

Das Log kannst du mir dann bitte mal zuschicken und danach den Debug-Modus wieder ausschalten.

Viele Grüße
Fasse
joesch
Beiträge: 683
Registriert: 22. Mai 2006, 14:40
Kontaktdaten:

Re: Erstellen von Beziehungen

Beitrag von joesch »

PN ist unterwegs ...

VG,
joesch
joesch
Beiträge: 683
Registriert: 22. Mai 2006, 14:40
Kontaktdaten:

Re: Erstellen von Beziehungen

Beitrag von joesch »

Hallo Zusammen,

hier auch noch mal der SQL-Fehler. Vielleicht steht er mit dem SQL-Problem beim Ändern der Ordnerrechte im Downloadmodul im Zusammenhang (viewtopic.php?f=3&t=7333&p=25525#p25525)?

Code: Alles auswählen

S Q L - E R R O R

CODE: 23000
1452

Cannot add or update a child row: a foreign key constraint fails ("db0000000-adm"."tfu_user_relations", CONSTRAINT "tfu_FK_URE_USR1" FOREIGN KEY ("ure_usr_id1") REFERENCES "tfu_users" ("usr_id") ON DELETE CASCADE ON UPDATE NO ACTION)

B A C K T R A C E

FILE: adm_program/system/classes/database.php
LINE: 513
CALL: Database->showError()

FILE: adm_program/system/classes/tableaccess.php
LINE: 544
CALL: Database->query()

FILE: adm_program/modules/userrelations/userrelations_function.php
LINE: 104
CALL: TableAccess->save()
Vielen Dank schon mal für eure Hilfe!

joesch
joesch
Beiträge: 683
Registriert: 22. Mai 2006, 14:40
Kontaktdaten:

Re: Erstellen von Beziehungen

Beitrag von joesch »

Siehe auch viewtopic.php?f=3&t=7333 ...

VG,
joesch
joesch
Beiträge: 683
Registriert: 22. Mai 2006, 14:40
Kontaktdaten:

Re: Erstellen von Beziehungen

Beitrag von joesch »

Ich habe jetzt versucht, eine Beziehung direkt in der Datenbank über phpmyadmin zu erstellen. Auch dort die gleiche Fehlermeldung beim Eintragen der Daten in die Tabelle:

Code: Alles auswählen

#1452 - Cannot add or update a child row: a foreign key constraint fails (`db12345678-adm`.`tfu_user_relations`, CONSTRAINT `tfu_FK_URE_USR1` FOREIGN KEY (`ure_usr_id1`) REFERENCES `tfu_users` (`usr_id`) ON DELETE CASCADE ON UPDATE NO ACTION) 
Ein Vergleich der Tabellendefinition der <präfix>_usr_relation-Tabelle auf einem frischen Testsystem mit dem migrierten Produktivsystem brachte folgendes Ergebnis:
Kardinalität 2
Kardinalität 2
test.PNG (24.91 KiB) 14269 mal betrachtet
Kardinalität 0
Kardinalität 0
bestand.PNG (25.61 KiB) 14269 mal betrachtet
Wäre es hilfreich, hier manuell die Kardinalität zu aktualisieren?
Giovanni9030
Beiträge: 247
Registriert: 4. Sep 2012, 23:40

Re: Erstellen von Beziehungen

Beitrag von Giovanni9030 »

Hallo joesch,
ich bin sicher kein Profi was Datenbanken betrifft, aber ich würde sagen, dass du da Probleme mit den Fremdschlüsseln (foreign key) hast. Ist auch aus deinem Code ersichtlich.
Sieh dir mal diese Seite dazu an: https://de.wikibooks.org/wiki/Einführun ... eziehungen
Hast du mal die Daten einer anderen Datenbank ohne Fremdschlüsselüberprüfung importiert? Dies könnte eventuell eine Fehlerquelle sein. Wie gesagt, ich bin kein Datenbank-Profi, aber vielleicht hilft dir das etwas weiter. Lasse mich aber auch gerne belehren.

LG Hans
Benutzeravatar
fasse
Administrator
Beiträge: 6229
Registriert: 12. Nov 2005, 16:06

Re: Erstellen von Beziehungen

Beitrag von fasse »

Hallo Joesch,

kannst du mal mit MyPhpAdmin in deine Datenbank schauen und in der Tabellenübersicht schauen, was bei den einzelnen Tabellen in der Spalte Typ steht. Dort sollte eigentlich bei allen Tabellen InnoDB stehen. Ich habe das Gefühl, dass bei dir bei einzelnen Tabellen noch MyIsam oder anderes steht.

Ist das so?

Gruß
Fasse
joesch
Beiträge: 683
Registriert: 22. Mai 2006, 14:40
Kontaktdaten:

Re: Erstellen von Beziehungen

Beitrag von joesch »

Guten Morgen Fasse!

Dein Gefühl hat dich nicht getäuscht - bei den meisten Tabellen steht MyISAM als Typ.
Lediglich die 2 Tabellen zum Thema Beziehungen sowie roles und roles_rights und roles_rights_data sind vom Typ InnoDB.

VG, joesch
joesch
Beiträge: 683
Registriert: 22. Mai 2006, 14:40
Kontaktdaten:

Re: Erstellen von Beziehungen

Beitrag von joesch »

Giovanni9030 hat geschrieben:... Hast du mal die Daten einer anderen Datenbank ohne Fremdschlüsselüberprüfung importiert? ...
Nein, Importe hatte ich gar nicht. Ich habe nur Datenbankupdates mit den jeweiligen Admidio-Versionen durchgeführt.

VG, joesch
Antworten