Ergebnis 1 bis 27 von 27

Thema: uuid nach Synchronisation geändert

  1. #1
    Contao-Nutzer
    Registriert seit
    09.12.2018.
    Beiträge
    26

    Standard uuid nach Synchronisation geändert

    Ich habe dummerweise in der Dateiverwaltung "Synchronisieren" gedrückt. Beim Vorgang wurden dann anscheinend praktisch alle uuid's der Files geändert / neu generiert und ein grosser Datenbestand ist damit wertlos geworden. Gibt es einen Grund warum dies passieren kann? Bevor ich "Synchronisieren" gedrückt habe hat alles einwandfrei funktioniert und die Bilder (es sind hauptsächlich Bilder, welche nun nicht mehr angezeigt werden) wurden ebenfalls einwandfrei angezeigt?
    Für mich ist dies äusserst ärgerlich weil damit ein ganzer Tag Arbeit verlorengegangen ist. Zudem möchte ich verhindern, dass so etwas in Zukunft nochmals passiert, weil es nicht ausgeschlossen ist, dass ein User in Zukunft den Button drücken wird.

    Ich würde mich über eine Hilfestellung zum Thema sehr freuen. Besten Dank & Gruss

  2. #2
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Das hört sich kurios an und dürfte so eigentlich nicht passieren. Da es vor der Synchronisation offenbar noch funktioniert hatte, nehme ich an, dass Du Deine Ordner mit den Bildern und sonstigen Ressourcen vorher auf "Öffentlich" gestellt hast oder?
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  3. #3
    Contao-Fan Avatar von PaddySD
    Registriert seit
    26.10.2016.
    Ort
    Andechs
    Beiträge
    656

    Standard

    Symlinks? Evtl. die Dateien in web/files abgelegt? Das würde erklären, dass sie jetzt weg sind...

  4. #4
    Contao-Nutzer
    Registriert seit
    09.12.2018.
    Beiträge
    26

    Standard Neue uuid's

    Hallo zusammen

    Besten Dank für eure Antworten. Ich konnte beide Fehler aber so nicht nachvollziehen sprich die Files sind effektiv in [webroot]/files (nicht in [webroot]/web/files) und der Ordner ist weiterhin als öffentlich markiert. Habe aber gerade bemerkt, dass die Files, welche anschliessend nicht mehr auffindbar waren, aus der Migration von einer Contao 2.10 stammten. In der alten Contao 2.10 Installation waren die Files unter tl_files abgelegt. Diese habe ich gemäss einem Beitrag hier aus der Community mit dem folgenden Skript "umgebogen": https://gist.github.com/leofeyer/3304014
    Vermutlich sind bei dieser Migration uuid's generiert worden, welche nicht mit der aktuellen Implementation übereinstimmen. Gibt es hier allenfalls eine Möglichkeit die uuid's global über die Datenbank auf das aktuelle Format zu bringen?

  5. #5
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Mit welcher Contao-Version hast Du das angesprochene Skript ausgeführt?
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  6. #6
    Contao-Nutzer
    Registriert seit
    09.12.2018.
    Beiträge
    26

    Standard

    Mit Contao 3.5.36

  7. #7
    Contao-Fan Avatar von PaddySD
    Registriert seit
    26.10.2016.
    Ort
    Andechs
    Beiträge
    656

    Standard

    Gibt es denn den entsprechenden Symlink von /web/files nach /files?

  8. #8
    Contao-Nutzer
    Registriert seit
    09.12.2018.
    Beiträge
    26

    Standard

    Zitat Zitat von PaddySD Beitrag anzeigen
    Gibt es denn den entsprechenden Symlink von /web/files nach /files?
    Ja, die entsprechenden Symlinks auf die Folder in files sind vorhanden.

  9. #9
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hat es denn in Contao 3.5.36 noch korrekt funktioniert? Gab es dort nur noch den Ordner files und nicht mehr tl_files?
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  10. #10
    Contao-Nutzer
    Registriert seit
    09.12.2018.
    Beiträge
    26

    Standard

    Zitat Zitat von xchs Beitrag anzeigen
    Hat es denn in Contao 3.5.36 noch korrekt funktioniert? Gab es dort nur noch den Ordner files und nicht mehr tl_files?
    Kann ich leider weder bestätigen noch verneinen. Ich habe die 3.5.36 Installation lediglich verwendet um den direkten Upgrade nach 4.6 zu machen. Könnte allenfalls mal ein Synchronisieren unter 3.5.36 versuchen und schauen, ob sich die UUID's dabei ebenfalls verändern. Dies habe ich noch nicht gemacht. Hoffe, dass ich diesen Versuch morgen einmal durchführen kann.

  11. #11
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    UUIDs sollten sich niemals ändern. Meine Vermutung wäre, dass die Migration von Contao 2 auf 3 nicht korrekt durch gelaufen ist. Du solltest nach der Migration von Contao 2 auf 3 auf jeden Fall überprüfen, dass alles korrekt funktioniert und im Backend nirgendwo die Meldung erscheint, dass "dieses Element noch das alte Format verwendet".

  12. #12
    Contao-Nutzer
    Registriert seit
    09.12.2018.
    Beiträge
    26

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    UUIDs sollten sich niemals ändern. Meine Vermutung wäre, dass die Migration von Contao 2 auf 3 nicht korrekt durch gelaufen ist. Du solltest nach der Migration von Contao 2 auf 3 auf jeden Fall überprüfen, dass alles korrekt funktioniert und im Backend nirgendwo die Meldung erscheint, dass "dieses Element noch das alte Format verwendet".
    Würde diese Meldung auch unter Contao 4.6 angezeigt? Diese habe ich nämlich dort nicht. Wie könnte sich ein "nicht korrekt durchgelaufen" deines Erachtens äussern? Das Skript hat jedenfalls "bestätigt", dass alle Dateien (habe die angezeigte Anzahl mit der Anzahl auf dem Server liegenden Dateien verglichen) verarbeitet wurden. Was mir übrigens noch aufgefallen ist, ist dass die bestehenden UUID's ein Format 0x9... hatten während die neu generierten alle mit 0x4... begannen. Kann dies evtl. noch einen Hinweis auf die Ursache geben?

    Zur allgemeinen Info: Es war mir möglich nach dem Ereignis die Tabelle 'tl_files' aus einem Backup zurückzuspielen. Daher funktioniert die Website im Moment wieder (solange bis wieder jemand den Synchronisieren Button drückt ).

  13. #13
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Ich denke diese Meldung gibt es in Contao 4 nicht mehr. Aber falls das zutreffen wurde, würdest du die Datei im Frontend ohnehin nicht zu Gesicht bekommen.

    Ohne eine genauere Analyse des Systems kann ich aber auch nicht mehr dazu sagen.

  14. #14
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von SimonS Beitrag anzeigen
    Würde diese Meldung auch unter Contao 4.6 angezeigt? Diese habe ich nämlich dort nicht. Wie könnte sich ein "nicht korrekt durchgelaufen" deines Erachtens äussern? Das Skript hat jedenfalls "bestätigt", dass alle Dateien (habe die angezeigte Anzahl mit der Anzahl auf dem Server liegenden Dateien verglichen) verarbeitet wurden. Was mir übrigens noch aufgefallen ist, ist dass die bestehenden UUID's ein Format 0x9... hatten während die neu generierten alle mit 0x4... begannen. Kann dies evtl. noch einen Hinweis auf die Ursache geben?

    Zur allgemeinen Info: Es war mir möglich nach dem Ereignis die Tabelle 'tl_files' aus einem Backup zurückzuspielen. Daher funktioniert die Website im Moment wieder (solange bis wieder jemand den Synchronisieren Button drückt ).
    Wenn möglich kannst du ja mal einen Auszug aus der DB mit Datensätzen, die betroffen sind, hier veröffentlichen. Da kann man ja mal schauen, ob es Auffälligkeiten gibt, die das Problem erklären können.

  15. #15
    Contao-Nutzer
    Registriert seit
    09.12.2018.
    Beiträge
    26

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Ohne eine genauere Analyse des Systems kann ich aber auch nicht mehr dazu sagen.
    Kannst du mir hier kurz deine Gedanken mitgeben? Wie würdest du die Analyse des Systems angehen? Ich möchte irgendwie schon versuchen das Problem noch zu beheben, obwohl es im Moment funktioniert...

  16. #16
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Ich würde mir die Daten von tl_files genauer ansehen und überprüfen, was genau die Funktion zur Synchronisierung der Datenbank macht. Außerdem würde ich die Daten von tl_files vor und nach der Synchronisation vergleichen.

  17. #17
    Contao-Nutzer
    Registriert seit
    09.12.2018.
    Beiträge
    26

    Standard

    Zitat Zitat von webstar Beitrag anzeigen
    Wenn möglich kannst du ja mal einen Auszug aus der DB mit Datensätzen, die betroffen sind, hier veröffentlichen. Da kann man ja mal schauen, ob es Auffälligkeiten gibt, die das Problem erklären können.
    Hab leider im Moment keinen Zugriff auf die Daten, werde aber versuchen am Abend mal einen oder mehrere Beispieldatensätze zu posten.

  18. #18
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von SimonS Beitrag anzeigen
    Das Skript hat jedenfalls "bestätigt", dass alle Dateien (habe die angezeigte Anzahl mit der Anzahl auf dem Server liegenden Dateien verglichen) verarbeitet wurden.
    Ich kann mich jetzt nicht mehr genau erinnern, aber wenn ich mich nicht täusche, dann gibt das Skript nach der Ausführung doch nur die Anzahl der betroffenen Datenbankeinträge aus. Das muss ja nicht zwingend mit der Anzahl der auf dem Server liegenden Dateien übereinstimmen. Es könnte ja auch sein, dass irgendeine Datei mehrmals verwendet wurde.
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  19. #19
    Contao-Nutzer
    Registriert seit
    09.12.2018.
    Beiträge
    26

    Standard

    Hier untenstehend findet ihr nun einen Vergleich von Datensätzen vor und nach dem Synchronisieren. Wie man unschwer erkennen kann, wird beim Vorgang der alte Datensatz gelöscht und ein neuer (mit einer neuen UUID) generiert obwohl es sich um ein und dasselbe File handelt:

    Vor der Synchronisation:
    (8961, 0x9394e720f57911e88a4fac1f6b1b99f6, 1543676344, 0x9394e719f57911e88a4fac1f6b1b99f6, 'file', 'files/web_old/Bildergallerie/Aktive/2001/Altjahrshoeck_2001/altjahrs01.jpg', 'jpg', '5db29f8927c0d458386f863925ad5787', '1', 'altjahrs01.jpg', 0, 0, 0, 0, NULL),

    Nach der Synchronisation:
    (21986, 0x45c4d1eaf61a11e88a4fac1f6b1b99f6, 1543745363, 0x45c4d1a2f61a11e88a4fac1f6b1b99f6, 'file', 'files/web_old/Bildergallerie/Aktive/2001/Altjahrshoeck_2001/altjahrs01.jpg', 'jpg', '5db29f8927c0d458386f863925ad5787', '1', 'altjahrs01.jpg', 0, 0, 0, 0, NULL),

    Sagt uns dies irgendetwas?

  20. #20
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Jetzt müsste man im Contao Core nachsehen, unter welchen Bedingungen das so durchgeführt wird.

  21. #21
    Contao-Nutzer
    Registriert seit
    09.12.2018.
    Beiträge
    26

    Standard

    Werde mir dies bei Gelegenheit einmal anschauen, ich hoffe, dass ich dabei fündig werde :-)

  22. #22
    Contao-Nutzer
    Registriert seit
    09.12.2018.
    Beiträge
    26

    Standard

    So, hab mir das File contao/core-bundle/src/Resources/contao/library/Contao/dbafs.php mal angeschaut. Bin vermutlich bei der Analyse des Codes etwas überfordert, aber was ich hier noch gefunden habe ist, dass ein uploadPath für das Zusammenbauen des File Pfades verwendet wird. Weiss jemand wo dieser uploadPath gesetzt wird? Mir sagt diese Konfiguration irgendwie nichts.

    Code:
    		/** @var \SplFileInfo[] $objFiles */
    		$objFiles = new \RecursiveIteratorIterator(
    			new SyncExclude(
    				new \RecursiveDirectoryIterator(
    					TL_ROOT . '/' . \Config::get('uploadPath'),
    					\FilesystemIterator::UNIX_PATHS|\FilesystemIterator::FOLLOW_SYMLINKS|\FilesystemIterator::SKIP_DOTS
    				)
    			), \RecursiveIteratorIterator::SELF_FIRST
    		);
    Im Allgemeinen habe ich nicht das Gefühl, dass es etwas damit zu tun hat, denn beim Ausführen von syncFiles wurden diese ja wieder am selben Ort gefunden. Aber der Code übersteigt meine PHP Kenntnisse etwas und ich habe leider auch keine Möglichkeit das Ding sinnvoll zu debuggen.

  23. #23
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.063
    Partner-ID
    10107

    Standard

    Default Wert von "uploadPath" ist "files": https://github.com/contao/contao/blo...on.php#L79-L81

    Der Wert kann theoretisch an folgenden Stellen gesetzt werden:

    system/config/localconfig.php
    PHP-Code:
    $GLOBALS['TL_CONFIG']['uploadPath'] = '…'

    app/config/config.yml
    Code:
    contao:
      upload_path: '…'

    app/config/config.yml
    Code:
    contao:
      localconfig:
        uploadPath: '…'

  24. #24
    Contao-Nutzer
    Registriert seit
    09.12.2018.
    Beiträge
    26

    Standard

    Hallo zusammen

    Habe nun den Fehler gefunden, welcher eigentlich trivial ist. Ich habe alle File Einträge doppelt in der DB drin. Wie dies zustande gekommen ist, ist mir schleierhaft. Werde nun versuchen die Datenbank entsprechend zu bereinigen. Besten Dank für eure wertvolle Hilfe!

    Gruss

  25. #25
    Contao-Nutzer
    Registriert seit
    30.06.2014.
    Beiträge
    118

    Standard

    Zitat Zitat von SimonS Beitrag anzeigen
    Hallo zusammen

    Habe nun den Fehler gefunden, welcher eigentlich trivial ist. Ich habe alle File Einträge doppelt in der DB drin. Wie dies zustande gekommen ist, ist mir schleierhaft. Werde nun versuchen die Datenbank entsprechend zu bereinigen. Besten Dank für eure wertvolle Hilfe!

    Gruss
    Hi!

    Ich habe auch UUID Probleme. Könntest du mir vielleicht ein paar Queries sagen wie ich analysieren kann?
    Ich checks nicht wie ich hier z.B. nach einer UUID filtern kann.
    Danke!

  26. #26
    Contao-Nutzer
    Registriert seit
    09.12.2018.
    Beiträge
    26

    Standard

    Zitat Zitat von arthur_8200 Beitrag anzeigen
    Hi!

    Ich habe auch UUID Probleme. Könntest du mir vielleicht ein paar Queries sagen wie ich analysieren kann?
    Ich checks nicht wie ich hier z.B. nach einer UUID filtern kann.
    Danke!
    Hallo...

    Hm, etwas schwierig Queries zu nennen, wenn ich nicht weiss nach was du suchst. Filtern nach UUID wäre doch einfach:
    SELECT * FROM `tl_files` WHERE `uuid` = '[gesuchte ID]';

    Da ich selbst nicht so sehr mit mySQL vertraut bin, habe ich meist auf die Dienste von phpMyAdmin verlassen. Das Tool bietet ja auch etwas Unterstützung um die Syntax für Queries richtig hinzukriegen.

    Beste Grüsse

  27. #27
    Contao-Nutzer
    Registriert seit
    30.06.2014.
    Beiträge
    118

    Standard

    Zitat Zitat von SimonS Beitrag anzeigen
    Hallo...

    Hm, etwas schwierig Queries zu nennen, wenn ich nicht weiss nach was du suchst. Filtern nach UUID wäre doch einfach:
    SELECT * FROM `tl_files` WHERE `uuid` = '[gesuchte ID]';

    Da ich selbst nicht so sehr mit mySQL vertraut bin, habe ich meist auf die Dienste von phpMyAdmin verlassen. Das Tool bietet ja auch etwas Unterstützung um die Syntax für Queries richtig hinzukriegen.

    Beste Grüsse
    Beispielsweise so kann man einen Datensatz anhand der UUID holen:
    Code:
    SELECT * FROM `tl_files` WHERE UUID=UNHEX(REPLACE('b2b897c5-6b29-11e9-96af-d850e6bff21f','-',''))
    Bei mir war eine falsche Datenbank Migration im Zuge vom Update von Contao 3.5 auf 4.9 schuld. Klappt jetzt nach neuer Installation alles :-)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •