nach Upgrade auf D7 wird Dateipfad zu den Medien doppelt angezeigt
am 10.11.2016 - 10:30 Uhr in
Hallo wertes Forum, nach langer erfolgloser Suche stelle ich meine Frage selbst: Längst muss ich meine Drupal6-Seite aktualisieren. Sie beinhaltet eine sehr komplexe und große Datenbank. Die Seite wurde damals als Multisite installiert.
Damit die Seite weiter genutzt werden kann habe ich eine Subdomain: d7.meinseite.de, auf der ich ausgehend von einer Kopie der alten Seite und alten Datenbank das Upgrade gestartet habe. Bis auf wenige CCK-Felder konnte ich die Daten weitestgehend migrieren. Auf dem ersten Blick sieht alles okay aus, auch wenn ich die Views noch bearbeiten muss.
Allerdings werden die Bild-, Video- und Audiodateien nicht angezeigt. Will ich ein Bild auf der Seite ansehen möchte, zeigt der Link mir folgendes an:
http://d7.meineseite.de/sites/www.meineseite.de/files//sites/www.meineseite.de/files/img/bild.jpg
Tatsächlich befindet sich das Bild unter:
http://d7.meineseite.de/sites/www.meineseite.de/files/img/bild.jpg
Die Angaben in der settings.php (Datenbank und Domainname) habe ich auf die neue Installation angepasst.
Ich habe bereits in den Einstellungen bei "Dateisystem" verschiedenes ausprobiert. So werden die Bilder angezeigt, wenn ich bei public-file-system-path keine Angaben mache, allerdings ist dann auch das CSS weg.
Ich vermute, dass die Dateien in der Datenbank noch die Pfadangabe www.meineseite.de haben, aber in der Tabelle files finde sehe ich nur den Pfad /img/bild.jpg.
Ist also bei der Migration etwas falschgelaufen und wenn ja, was?
Liegt es am anderen Domainnamen?
Liegt es an irgendwelchen Multisite-Einstellungen, die ich übersehen habe?
(Ich würde sehr gern vermeiden, die gesamte Migration neu vorzunehmen. Und wenn es keine andere Möglichkeit gibt, dann zumindest den Fehler nicht wiederholen ...)
- Anmelden oder Registrieren um Kommentare zu schreiben
gelöst
am 13.11.2016 - 18:41 Uhr
Tatsächlich lag das Problem doch in der Datenbank, in meinem Fall allerdings in der Tabelle "file_managed".
Diese Beiträge haben mir weitergeholfen:
https://groups.drupal.org/node/68633
http://www.bramvandenbulcke.be/en/article/move-drupal-multisite-single-site
Auch wenn ich bereits in der Datenbank bei den Pfadnamen mein Glück versuchte. Mein Fehler war, dass ich nur direkte Befehle eingab, aber nicht die richtige Tabelle angesprochen hatte.
Über die konkrete Suche in MySQL nach "sites/www.meineseite.de/files" wurde mir die betreffende Tabelle angezeigt.
Mit den in den Forum immer wieder erwähnten SQL-Befehl konnte ich die Spalte nun genau ansprechen:
UPDATE file_managed SET uri = REPLACE(uri, 'sites/www.meineseite.de/files/','');
Hoffe, das hilft auch anderen MySQL-Beginners weiter!