Probleme beim Change von Drupal 6 auf Drupal 7
am 25.05.2016 - 20:08 Uhr in
Hallo zusammen,
ich betreibe bereits seit Jahren ehrenamtlich die Internetseite Stillgruppen.de welches ein gemeinnütziges Projekt ist.
Frauen finden hier kostenlos Rat rund um das Thema Baby und Stillen.
Lief auf Drupal 6.
Dann wurde Drupal 6 nicht mehr weiterentwickelt und ich musste eine Umstellung auf Drupal 7 machen.
Habe mir alles angesehen im Netz und letztlich die Variante: alle Drupal 6 Sachen löschen, Drupal 7 in den Ordner und update gemacht...
Hab ich so als Anleitung gefunden und einfach mal gemacht.
Nun lief das ganze dann recht instabil und schon gar nicht mit einem vernünftigen Theme.
Ich muss dazu sagen, ich kenne mich nicht gut aus mit Datenbanken und php und es ist eh schon ein Ding, dass ich die Seite so weit entwickelt bekommen hab.
Letztlich kam dann ein 500 Fehler und die Seite lief einfach nicht mehr...
Hab alles wieder zurückgesetzt. Datenbank und die alten Ordner hochgeladen und jetzt ist die Seite da, aber sieht irgendwie immer noch kaputt aus
---> Stillgruppen.de
Keine Ahnung, warum!
Parallel habe ich nun eine Drupal 7 bzw. 2 Versionen ins Netz gestellt die ich nun mit den Daten betanken wollte.
---> Laktationsberaterin.de
---> Stillgruppen.eu
Mist: klappt auch nicht! Ich zapfe die alte Datenbank an (wobei Migrate komischerweise immer sagt, das wäre Drupal 7, obwohl die alte Ja Drupal 6 war.) und versuche mit Migrate
auszuführen. Klappt nicht!
Kommt immer folgender Fehler:
Migration failed with source plugin exception: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'ua.alias' in 'field list', in /is/htdocs/wp10568525_Y40X383WIN/www/Drupal7Stillgruppen/includes/database/database.inc:2171
Skipped c6eef8d1eFile due to unfulfilled dependencies: c6eef8d1eUser
Skipped c6eef8d1eNodeangebote_fuer_schwangere due to unfulfilled dependencies: c6eef8d1eUser, c6eef8d1eFile
Skipped c6eef8d1eNodeforum due to unfulfilled dependencies: c6eef8d1eUser, c6eef8d1eFile
Skipped c6eef8d1eCommentforum due to unfulfilled dependencies: c6eef8d1eNodeforum, c6eef8d1eUser, c6eef8d1eFile
Skipped c6eef8d1eNodesimplenews due to unfulfilled dependencies: c6eef8d1eUser, c6eef8d1eFile
Skipped c6eef8d1eNodepage due to unfulfilled dependencies: c6eef8d1eUser, c6eef8d1eFile
Skipped c6eef8d1eCommentpage due to unfulfilled dependencies: c6eef8d1eNodepage, c6eef8d1eUser, c6eef8d1eFile
Skipped c6eef8d1eNodepoll due to unfulfilled dependencies: c6eef8d1eUser, c6eef8d1eFile
Im Netz habe ich was gefunden, werde aber nicht schlau draus... Kann es sein, dass der Import mit den Usern irgendwie nicht geht? Habe über 1300! Die will ich ja nicht verlieren.
http://www.ceus-now.com/migrate-content-profile-to-drupal-7-failing-with...
Kann man das auch einfach mit einem Datenbankimport machen? Über phpMyAdmin?
Wie gesagt, dass ganze ist ehrenamtlich und ich bin etwas verzweifelt und würde mich über einen Tip echt freuen.
Danke!
*******************************
ZUSATZ
Ich habe versucht einfach eine alte Drupal 6 installation aufzusetzen: hat geklappt.
Dann habe ich die alte Datenbank über den MSQL Dumper wieder eingespielt: ergebnis --> Seite wieder mit Problemen?!
warning: fopen(): Filename cannot be empty in /is/htdocs/wp10568525_Y40X383WIN/www/oldstillgruppen/includes/file.inc on line 881.
Die Datei konnte nicht erstellt werden.
warning: fopen(): Filename cannot be empty in /is/htdocs/wp10568525_Y40X383WIN/www/oldstillgruppen/includes/file.inc on line 881.
Die Datei konnte nicht erstellt werden.
warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'ctools_theme_menu_local_tasks' not found or invalid function name in /is/htdocs/wp10568525_Y40X383WIN/www/oldstillgruppen/includes/theme.inc on line 669.
warning: require_once(sites/all/modules/cck/includes/content.admin.inc): failed to open stream: No such file or directory in /is/htdocs/wp10568525_Y40X383WIN/www/oldstillgruppen/includes/menu.inc on line 348.
warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'views_access' not found or invalid function name in /is/htdocs/wp10568525_Y40X383WIN/www/oldstillgruppen/includes/menu.inc on line 454.
warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'views_access' not found or invalid function name in /is/htdocs/wp10568525_Y40X383WIN/www/oldstillgruppen/includes/menu.inc on line 454.
warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'views_access' not found or invalid function name in /is/htdocs/wp10568525_Y40X383WIN/www/oldstillgruppen/includes/menu.inc on line 454.
warning: call_user_func_array() expects parameter 1 to be a valid callback, function '_imagecache_menu_access_public_files' not found or invalid function name in /is/htdocs/wp10568525_Y40X383WIN/www/oldstillgruppen/includes/menu.inc on line 454.
warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'user_relationships_ui_check_access' not found or invalid function name in /is/htdocs/wp10568525_Y40X383WIN/www/oldstillgruppen/includes/menu.inc on line 454.
warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'views_access' not found or invalid function name in /is/htdocs/wp10568525_Y40X383WIN/www/oldstillgruppen/includes/menu.inc on line 454.
Keine Ahnung warum... die lief doch früher auch???
Ich will eine alte Version hinbekommen, die ich einfach aus einer neuen Drupal 7 installtaion anzapfen kann und abtanken möchte.
- Anmelden oder Registrieren um Kommentare zu schreiben
so, schon mal ein
am 26.05.2016 - 00:06 Uhr
so, schon mal ein zwischenschritt:
die alte Version scheint wieder einigermaßen zu laufen:
folgendes hat geholfen...
http://www.drupalcenter.de/node/26174
https://www.drupal.org/node/337176
http://www.drupalcenter.de/node/25921#comment-94588
datenbankproblem noch nich gelöst....
immer noch der gleiche fehler:
Ein AJAX-HTTP-Fehler ist aufgetreten. HTTP-Rückgabe-Code: 500 Im Folgenden finden Sie Debugging-Informationen. Pfad: /batch?id=13&op=do Statustext: Service unavailable (with message) Antworttext: PDOException: SQLSTATE[HY000]: General error: 1366 Incorrect integer value: 'sites/default/files/pictures/picture-1492.jpg' for column 'sourceid1' at row 1: INSERT INTO {migrate_map_c6eef8d1epicture} (sourceid1, needs_update, rollback_action, hash) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3); Array ( [:db_insert_placeholder_0] => sites/default/files/pictures/picture-1492.jpg [:db_insert_placeholder_1] => 3 [:db_insert_placeholder_2] => 0 [:db_insert_placeholder_3] => ) in MigrateSQLMap->saveIDMapping() (Zeile 434 von /is/htdocs/wp10568525_Y40X383WIN/www/keplerstillgruppen/sites/all/modules/migrate/plugins/sources/sqlmap.inc).
was bedeutet das?
Irgendwas stört MIGRATE... aber ich bin kein experte wie man sieht. hat jemand einen tipp? einen link auf eine anleitung?
DANKE
Hallo Bea, ich habe schon
am 26.05.2016 - 15:04 Uhr
Hallo Bea,
ich habe schon öfter eine Migration von Drupal 6 nach Drupal 7 durchgeführt und meine Erfahrung ist, dass Mirgrate nie etwas vernünftiges zustande bringt.
Es gibt ja immer mehrere Dinge, die man bedenken muss.
Zum einen sind es die Module. Wenn es keine selbstgeschriebenen Module dort gibt, ist das meist unproblematisch. Es kommt aber auch häufig vor, dass Module aus Drupal 6 in Drupal 7 etwas anders funktionieren. Z.B. setzt das Workflow Modul bei Drupal 6 auf nodes und bei Drupal 7 auf Fields. Und dafür gibt es noch eine ganze Reihe von Beispielen, weil Drupal 7 eben mehr auf Entitäten setzt als auf nodes.
Das mit den Modulen ist aber aus meiner Sicht noch am einfachsten zu lösen.
Theme, css und js sollten eigentlich keine Probleme machen, die haben ja auch nicht soviel mit der Drupal Version zu tun.
Die Inhaltstypen muss man natürlich alle neu erstellen.
Dann müssen da ja noch die schon bestehenden Nodes exportiert und in die neue Plattform wieder importiert werden.
Das geht meiner Meinung nach nur über einen Export als csv-Datei (das geht mit Views auch in Drupal 6 ganz gut).
Den Import bekommt man nur mit feeds und feeds-tamper hin.
Dabei kann man uuid nutzen, um die Benutzer (User) und Inhalte (Nodes) eindeutig zu identifizieren, denn sowohl die Benutzer als auch die Nodes bekommen natürlich neu IDs. Wenn dann auch noch Nodes untereinander verlinkt sind, wird es sehr haarig :-(
Aber es gibt dort aber auch andere Grenzen.
Zum Beispiel lassen sind Field Collections nicht ohne weiteres exportieren und wieder importieren.
Auch für Protokollnachrichten zu den einzelnen Versionen der Nodes gibt es weder einen Export noch einen Import. Auch wenn man das oben schon erwähnte Workflow Modul verwendet, bekommt man weder die Workflow History hin, noch die exakten Workflow-States.
Leider ist das so, dass Drupal bei einem Versionssprung offenbar gar keinen "einfachen" Weg anbietet, ein Upgrade zu realisieren.
Ob sich das überhaupt lohnt, von Drupal 6 auf Drupal 7 zu migrieren, ist aus den oben genannten Gründe eine Kostenfrage.
@Fehler bei Mirgrate
du hast ja sicherlich vor dem Migrieren eine Sicherheitskopie angelegt. Ich würde die einfach wieder aufspielen und dann ist dein System wieder so, wie es war.
In diesem Fall nur nicht auf die angebotenen Module wie migrate vertrauen.
Gruß
Berthold
Drupal Video-Tutorials
Hallo Berthold, vielen Dank
am 26.05.2016 - 19:03 Uhr
Hallo Berthold,
vielen Dank für Deine ausführliche Antwort!
Die Seite auf Drupal 6 kann ich ja nicht weiter laufen lassen, da es nicht mehr supported wird... Das Stillgruppen.de eine einigermaßen große Community ist und die Frauen dort eigenständig ihre Krabbelgruppen etc eingepflegt und gepflegt haben, wollte ich das auch so übernehmen. Ca 1300 User mit eigenen Beiträgen die ich eben über neue Contenttypes realisiert habe.
Jetzt der Supergau für mich.
Ok, habe also verstanden, dass MIGRATE nicht immer klappt.
Ich habe noch BAckup and MIGRATE gefunden:
https://www.drupal.org/node/189065/release
Can ich dieses Modul unter Drupal 6 installieren und dann in Drupal 7 dann den Import versuchen?
Ich habe keine selbst geschriebenen Module, da ich keine Ahnung hab davon... nur die Standard Sachen.
Aber weil kein Modul mehr unterstützt wird und Drupal 6 eingestellt ist, da muss ich als Laie ja was machen...
Klar ist alles eine Kostenfrage, aber mit der Seite verdiene ich kein Geld, sodass ich mal eben eine Firma dafür beauftragen kann für ein paar tausend Euro?!
Die Seite ist aber recht groß und ich brauch vermutlich Monate die Einträge alle per Handy zu übertragen, mal von den Usern ganz abgesehen.
Die dann alle kein Passwort mehr haben und die dann alle auch nicht mehr ihre alten Beiträge pflegen können. Oder kann man das irgendwie wieder miteinander verknüpfen?
Danke !
Hast du ein Backup der alten
am 26.05.2016 - 21:32 Uhr
Edit: Habe zu überlesen, dass du bereits eine D6 installation versucht hast.
Ja, ich habe ein Backup und
am 27.05.2016 - 13:56 Uhr
Ja, ich habe ein Backup und versuche jetzt immer noch den Umstieg von Drupal 6 auf Drupal 7....
Ich glaube das ganze ist aber ein Datenbankproblem, welches nicht ganz so einfach ist.
Alles migrieren hat nix gebracht
am 21.06.2016 - 21:39 Uhr
Buch gelesen...
viel im Netz gelesen, viel ausprobiert.... aber immer gab es Fehlermeldungen beim MIGRIEREN, egal mit welchem Modul auch...
Zusätzliches Problem, meine Views funktionieren nicht mehr richtig und deshalb klappte das hier:
http://justmagicdesign.com/blog/201404/upgrading-website-drupal-6-drupal...
Was aber ganz gut erklärt war und auch all die Youtube Videos...
Deshalb habe ich mich dazu entschlossen ein sauberes UPGRATE durchzuführen, mit dieser Super Anleitung hier:
https://www.ostraining.com/blog/drupal/migrate-drupal-6-to-drupal-7/
erst das upgrate und dann holen wir uns die vielen Contenttpes mit all den Feldern:
https://www.ostraining.com/blog/drupal/migrating-d6-content-construction...
Und immer schön langsam jedes Modul installieren und aktivieren...
klappt!
Dann die nächste Hürde:
in den Content types hatte ich natürlich auch Bilder (Image)... also kam eine Fehlermeldung, dass er die Images nicht importieren kann...
Natürlich dann erstmal nicht weitergemacht!
Image installiert für Drupal 7 (ja, ist im Core, aber wird dafür trotzdem benötigt!)
https://www.drupal.org/project/image
ganz unten auf der Seite ist die dev Version und dann geht's weiter...
So, jetzt fehlt noch das Date field, also Date installieren!
Und so geht das jetzt immer weiter... immer schauen, welche unavailable fields da sind und dann das passende Modul installieren und schon meckert er nicht mehr (hoffentllich klappt es dann auch im letzten Schritt... ich habe die Fields bisher ja noch nicht migriert bzw den Vorgang ausgeführt
admin/structure/content_migrate
SO, nächstes PROBLEM:
Invalid field/widget combination: The field 'field_plzfreizeit' in the bundle 'freizeittipp' is an unlimited length field using a textfield widget, not allowed in D7. The field length will be set to 255.
Habe ich schon etwas gegoogelt, aber die einfache, richtige lösung noch nicht gefunden. Ich kann ja nicht im Core rumhacken wie der hier:
http://nathan.rambeck.org/blog/42-modify-drupal-7-text-field-maximum-length
ich berichte nach den nächsten Schritten weiter!
Hi, das Texteld in der
am 22.06.2016 - 09:50 Uhr
Hi,
das Texteld in der Datenbank ist zu lang.
Invalid field/widget combination: The field 'field_plzfreizeit' in the bundle 'freizeittipp' is an unlimited length field using a textfield widget, not allowed in D7. The field length will be set to 255.
Laut der Meldung sollte das Feld aber auf die Feldlänge 255 gesetzt werden.
Schau mal in der Datenbank ob das Feld field_plzfreizeit auf VARCHAR(255) gesetzt ist, wenn nicht mach es von Hand.
aber Achtung, Du verlierst alle Zeichen in dem Feld die gösser als 255 Zeichen sind!
MfG
Robert
https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)
Hallo Robert, danke für
am 22.06.2016 - 22:35 Uhr
Hallo Robert,
danke für Deinen Beitrag... Ich bin wirklich ein Dummy und es ist schon erstaunlich, dass ich eh so weit gekommen bin :)
Habe keine Ahnung von Datenbanken etc im Detail. Ich schaffe es aber anhand von Anleitungen und Tools oder Modulen einiges mit Drupal zu bewegen.
Für mich ist es also schwierig etwas in der Datenbank zu ändern, weil ich keine Ahnung habe, wie...
Ich kann die Datenbank öffenen mit MyPHP, aber wie ändere ich da was ...?
Und muss ich überhaupt, weil der Wert doch automatisch auf 255 begrenzt wird??
Ich wollte mir mal am Wochenende anschauen, wieviele Beiträge das überhaupt betrifft ....
Gibt es echt noch keine andere Lösung?
Ist schon erschreckend was ich alles so im Netz gefunden habe: alles Umstellungsprobleme von Drupal 6 auf 7 und viele verzweifelte Menschen....
Danke für jeden Beitrag!
Hallo, schau mal in
am 23.06.2016 - 10:30 Uhr
Hallo,
schau mal in phpmyadmin in der Tabelle field_data_field_plzfreizeit.
Das Feld in der Tabelle sollte vom Typ VARCHAR(255) sein.
Wenn nicht, kannst Du das umstellen auf VARCHAR(255) und
dann nochmal probieren.
Gruss
Robert
https://awri.ch
Ich habe eine Schweizer Tastatur und daher kein scharfes ß ;-)
Zunächst mal versuchen, die D6 Config anpassen
am 23.06.2016 - 10:57 Uhr
Direkte Anpassungen in der Datenbank sollten immer nur der letzte Ausweg sein.
Und wenn man kein Drush oder ähnliches zur Hand hat, dann sollte man es nach Möglichkeit nicht manuell an den Tabelleneinstellungen sondern per SQL-Anweisung in einem MySQL-Verwaltungsprogramm wie z.B. PHPmyAdmin machen.
Da man ein D6 auf D7 Upgrade je nach Komplexität auch öfter mal testen muss, ist es so auch einfacher Fehler dabei zu vermeiden.
Zum konkreten Problem: ich habe zwar gerade nicht mehr die Issue parat, aber das Problem basiert auf einer alten unklugen Strategie in D6. Das Upgrade-Script nimmt dann leider einen sehr kleinen Wert für das einfache Textfeld an, das dann zu einem Fehler führt. Bei nur wenigen Text-Feldern kann man versuchen im alten D6-System das Feld auf "multiline textfield" zu ändern, wenn ich mich recht erinnere. Dann verhält sich der Upgrade-Code schon anders. Vllt. klappt das ja schon.
In einem Projekt mit sehr vielen Feldern und Tausenden von Nodes habe ich den Upgradecode in CCK für D7 angepasst und dort einen vierfachen Standard-Wert für das Feld vorgegeben. Übrig blieben dann zwei Felder die ich manuell wie oben beschrieben noch in D6 angepasst habe.
# DrupalCenter-Moderator # https://www.drupal.org/u/c-logemann
# CTO der Nodegard GmbH: Tech. Concepts | Security + Availability Operations / Wir unterstützen IT-Abteilungen, Agenturen, Freiberufler:innen
So, mal wieder eine
am 02.07.2016 - 19:31 Uhr
So, mal wieder eine Zwischeninfo:
ich habe einfach mal weiter gemacht.
in der alten Drupal 6 Version alle Module durchgesehen (geht am einfachsten über die Seite wo die Aktualisierungen aufgelistet sind, weil dort direkt der Link auf Drupal.org die Modulseite ist)
und die 7er Version heruntergeladen und ein Modul nach dem anderen installiert und aktiviert. Dann immer das update script laufen lassen und ruhig mal zwischendurch auch die Datenbank sichern. Bei mir ging bei einem Modul die Seite leider auf Fehler 500 und da war ich froh, dass ich einfach wieder ein Datenbank restore machen konnte.
Wenn wirklich alle Module vorhanden sind, dann findet Content Migrate vermutlich auch alle richtigen Felder.
Dann nochmals ein Backup und dann habe ich es einfach gemacht:
admin/structure/content_migrate
alle Available fields ausgewählt und es ging los!
Und es hat tatsächlich geklappt!
Und es war mir egal, dass die Felder auf 255 Zeichen gekürzt werden. Denn ich hatte keine andere Wahl! Bei soviel Contenttypen und Inhalt den meine Seite hatte bzw. hat, muss ich nach dem Motto arbeiten: hauptsache ich bekomme alles rüber und wenn da ein paar Beiträge gekürzt werden, dann ist es eben so!
Und er hat tatsächlich alles überführt! Forenbeiträge, den Usern die richtigen Beiträge zugeordnet und und und!
Sogar meine Zusatzfelder in den Profilen der User hat er irgendwie umgewandelt!
Lediglich die Bilder der einzlenen USer sind weg. Da muss ich nochmals schauen...
Ich melde mich wieder, wenns weiter geht!
nächster
am 02.07.2016 - 19:56 Uhr
nächster Stepp:
https://www.drupal.org/node/1738778
Es gab einen Hinweisfehler, dass dieses Verzeichnis pictures nicht da wäre oder nicht schreibbar... erledigt mit FTP
aber die Benutzerbilder sind immer noch nicht da. Cache geleert...erstmal ohne Ergebnis.
mal schauen
Ohne drush_sup ist D6>D7-Upgrade eine Qual
am 02.07.2016 - 20:16 Uhr
Das Upgraden von D6 auf D7 ist ein Prozess den man um so häufiger mehrfach durchspielen muss, je komplexer die Drupalanwendung ist.
Dabei hilft Drush Site Upgrade ziemlich gut, da es den Prozess weitest gehend automatisieren kann.
Die Komplexität von Drush ist bezüglich potentieller andere Probleme, die beim Upgrade auftreten können sehr gering. Und für ein professionelle Administration auch von D7 und D8-Systemen lohnt sich das Erlernen von Drush.
Da man den Upgrade Spass auf gar keinen Fall auf einem Produktiv-System durchführen sollte, kann man dann wenigstens in einem lokalen Test-Server dann Drush und Upgrade-Systeme aufsetzen. Denn man benötigt für Drush-Siteupgrade wenigstens zwei Drupal-Systeme: 1. die Kopie des alten D6-Systems und dann das neue D7-System, das im Grunde von Drush_Sup automatisiert aufgebaut wird. Das ist dann auch die praktische Infrastruktur für wiederholte Anläufe.
# DrupalCenter-Moderator # https://www.drupal.org/u/c-logemann
# CTO der Nodegard GmbH: Tech. Concepts | Security + Availability Operations / Wir unterstützen IT-Abteilungen, Agenturen, Freiberufler:innen
Zitat: aber die
am 03.07.2016 - 00:56 Uhr
aber die Benutzerbilder sind immer noch nicht da
Hast du event. auf D6 Bildstile angelegt für das Userbild und diese sind auf D7 nicht vorhanden?
Weil ja mit Bildstil die Bilder dann unter dem jeweiligen Stil-Ordner abgelegt werden.
/sites/default/files/styles/mein-bildstilname/public/mein-bilderordner/bildname.jpg
Siehst du denn ein Ersatzbild (also dieses kleine Kästchen was anzeigt das kein Bild geladen werden kann)? Kannst du da mit rechter Mouse und dann
Grafik-Adresse kopieren mal nachgucken was als Pfad angezeigt wird? Und gibt es auf D7 diese Ordner?
Grüße Jenna