Nach Update von 8.9.20 auf 9.3.0: SQL-Fehlermeldung beim Bearbeiten von nodes
am 04.01.2022 - 12:22 Uhr in
Hallo,
ich habe ein Update durchgeführt über Composer von 8.9.20 auf 9.3.0. Danach hatte ich seltsame mySQL Fehlermeldungen - erst beim Erstellen von neuen nodes, dann beim Bearbeiten bestehender nodes. Den Fehler beim Erstellen von neuen nodes konnte ich lösen durch einen Workaround, indem ich in einigen Core-Dateien vor einem DB-Eintrag oder einer DB-Abfrage den mySQL-Modus angepasst habe.
<?php
$sql_mode_change ="SET sql_mode = 'ANSI_QUOTES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION'";
$result_sql_mode_change = \Drupal::database()->query($sql_mode_change);
?>
Leider kann ich das nicht global in der DB setzen, da mir dazu die nötigen Rechte fehlen. Auch nicht über eine spezielle Datei, damit es permanent angepasst wird.
Besonders "ANSI_QUOTES" scheint hier wichtig zu sein.
Folgende Fehlermeldung erhalte ich, wenn ich eine node bearbeiten möchte:
User error: Drupal\Core\Database\DatabaseExceptionWrapper thrown while calling __toString on a Drupal\Core\StringTranslation\TranslatableMarkup object in /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/Database/Driver/mysql/ExceptionHandler.php on line 53: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.*, "t"."language" AS "language", "t"."translation" AS "translation", "t"."custo' at line 1: SELECT "s".*, "t"."language" AS "language", "t"."translation" AS "translation", "t"."customized" AS "customized" FROM "locales_source" "s" LEFT OUTER JOIN "locales_target" "t" ON t.lid = s.lid AND t.language = :langcode WHERE ("s"."source" IN (:db_condition_placeholder_0)) AND ("s"."context" IN (:db_condition_placeholder_1)); Array ( [:db_condition_placeholder_0] => Date (e.g. @format) [:db_condition_placeholder_1] => [:langcode] => de ) in Drupal\Core\StringTranslation\TranslatableMarkup->__toString() (Zeile 20 in /.../drupal9_composer/new_html/web/core/lib/Drupal/Component/Utility/ToStringTrait.php)
#0 /.../drupal9_composer/new_html/web/core/includes/bootstrap.inc(346): _drupal_error_handler_real(256, 'Drupal\\Core\\Dat...', '/.../.../', 20)
#1 [internal function]: _drupal_error_handler(256, 'Drupal\\Core\\Dat...', '/.../.../', 20, Array)
#2 /.../drupal9_composer/new_html/web/core/lib/Drupal/Component/Utility/ToStringTrait.php(20): trigger_error('Drupal\\Core\\Dat...', 256)
#3 /.../drupal9_composer/new_html/web/core/lib/Drupal/Component/Render/PlainTextOutput.php(22): Drupal\Core\StringTranslation\TranslatableMarkup->__toString()
#4 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/Template/Attribute.php(145): Drupal\Component\Render\PlainTextOutput::renderFromHtml(Object(Drupal\Core\StringTranslation\TranslatableMarkup))
#5 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/Template/Attribute.php(105): Drupal\Core\Template\Attribute->createAttributeValue('title', Object(Drupal\Core\StringTranslation\TranslatableMarkup))
#6 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/Template/Attribute.php(86): Drupal\Core\Template\Attribute->offsetSet('title', Object(Drupal\Core\StringTranslation\TranslatableMarkup))
#7 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/Theme/ThemeManager.php(360): Drupal\Core\Template\Attribute->__construct(Array)
#8 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/Render/Renderer.php(422): Drupal\Core\Theme\ThemeManager->render('input', Array)
#9 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/Render/Renderer.php(435): Drupal\Core\Render\Renderer->doRender(Array)
#10 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/Render/Renderer.php(201): Drupal\Core\Render\Renderer->doRender(Array, false)
#11 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/Template/TwigExtension.php(463): Drupal\Core\Render\Renderer->render(Array)
#12 /.../drupal9_composer/new_html/web/sites/default/files/php/twig/61d4186e57ed9_datetime-form.html.twig_vKa-wKjQ4iSM88Ea1wL0JQFQr/4D4_fnNaUoZRGzaf4soxwkcLRUuPjsThZxzsjnVT--4.php(44): Drupal\Core\Template\TwigExtension->escapeFilter(Object(Drupal\Core\Template\TwigEnvironment), Array, 'html', NULL, true)
#13 /.../drupal9_composer/new_html/vendor/twig/twig/src/Template.php(405): __TwigTemplate_14a1898fdd574d48cc80a1ee74af0c6c3728aec19ec0217140a6e2d91d354d00->doDisplay(Array, Array)
#14 /.../drupal9_composer/new_html/vendor/twig/twig/src/Template.php(378): Twig\Template->displayWithErrorHandling(Array, Array)
#15 /.../drupal9_composer/new_html/vendor/twig/twig/src/Template.php(390): Twig\Template->display(Array)
#16 /.../drupal9_composer/new_html/web/core/themes/engines/twig/twig.engine(55): Twig\Template->render(Array)
#17 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/Theme/ThemeManager.php(384): twig_render_template('core/themes/sev...', Array)
#18 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/Render/Renderer.php(422): Drupal\Core\Theme\ThemeManager->render('datetime_form', Array)
#19 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/Render/Renderer.php(435): Drupal\Core\Render\Renderer->doRender(Array)
#20 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/Render/Renderer.php(201): Drupal\Core\Render\Renderer->doRender(Array, false)
#21 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/Template/TwigExtension.php(463): Drupal\Core\Render\Renderer->render(Array)
#22 /.../drupal9_composer/new_html/web/sites/default/files/php/twig/61d4186e57ed9_field-multiple-value-form_7-_oThrhNLkvMse0gHfNOUUyz/iCpyjAUvzv9mEgODreaLTJEOZcVWFZPCbDazG8lVuho.php(83): Drupal\Core\Template\TwigExtension->escapeFilter(Object(Drupal\Core\Template\TwigEnvironment), Array, 'html', NULL, true)
#23 /.../drupal9_composer/new_html/vendor/twig/twig/src/Template.php(405): __TwigTemplate_7df468ae569183466804996cf5d8bf0b0c14dd331bcd91bf077d3de9123c8934->doDisplay(Array, Array)
#24 /.../drupal9_composer/new_html/vendor/twig/twig/src/Template.php(378): Twig\Template->displayWithErrorHandling(Array, Array)
#25 /.../drupal9_composer/new_html/vendor/twig/twig/src/Template.php(390): Twig\Template->display(Array)
#26 /.../drupal9_composer/new_html/web/core/themes/engines/twig/twig.engine(55): Twig\Template->render(Array)
#27 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/Theme/ThemeManager.php(384): twig_render_template('core/modules/sy...', Array)
#28 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/Render/Renderer.php(422): Drupal\Core\Theme\ThemeManager->render('field_multiple_...', Array)
#29 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/Render/Renderer.php(435): Drupal\Core\Render\Renderer->doRender(Array)
#30 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/Render/Renderer.php(435): Drupal\Core\Render\Renderer->doRender(Array)
#31 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/Render/Renderer.php(201): Drupal\Core\Render\Renderer->doRender(Array, false)
#32 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/Template/TwigExtension.php(463): Drupal\Core\Render\Renderer->render(Array)
#33 /.../drupal9_composer/new_html/web/sites/default/files/php/twig/61d4186e57ed9_node-edit-form--blablabla_RljnIFjxzuaRq5kVhISmj1u4Y/yzJI8zaS7DBr8HkLE1uOaDZEQVNuPfMH9rELg_Aq1EM.php(55): Drupal\Core\Template\TwigExtension->escapeFilter(Object(Drupal\Core\Template\TwigEnvironment), Array, 'html', NULL, true)
#34 /.../drupal9_composer/new_html/vendor/twig/twig/src/Template.php(405): __TwigTemplate_03342f4e45de184866c04d7f1e1f647afa1125ea6471daef346b44ad6cc2f885->doDisplay(Array, Array)
#35 /.../drupal9_composer/new_html/vendor/twig/twig/src/Template.php(378): Twig\Template->displayWithErrorHandling(Array, Array)
#36 /.../drupal9_composer/new_html/vendor/twig/twig/src/Template.php(390): Twig\Template->display(Array)
#37 /.../drupal9_composer/new_html/web/core/themes/engines/twig/twig.engine(55): Twig\Template->render(Array)
#38 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/Theme/ThemeManager.php(384): twig_render_template('themes/hon_cust...', Array)
#39 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/Render/Renderer.php(422): Drupal\Core\Theme\ThemeManager->render('node_edit_form', Array)
#40 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/Render/Renderer.php(201): Drupal\Core\Render\Renderer->doRender(Array, false)
#41 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(241): Drupal\Core\Render\Renderer->render(Array, false)
#42 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/Render/Renderer.php(564): Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}()
#43 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(242): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))
#44 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(132): Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\Core\Routing\CurrentRouteMatch))
#45 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/EventSubscriber/MainContentViewSubscriber.php(90): Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\Core\Routing\CurrentRouteMatch))
#46 [internal function]: Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object(Symfony\Component\HttpKernel\Event\ViewEvent), 'kernel.view', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
#47 /.../drupal9_composer/new_html/web/core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(142): call_user_func(Array, Object(Symfony\Component\HttpKernel\Event\ViewEvent), 'kernel.view', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
#48 /.../drupal9_composer/new_html/vendor/symfony/http-kernel/HttpKernel.php(163): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object(Symfony\Component\HttpKernel\Event\ViewEvent), 'kernel.view')
#49 /.../drupal9_composer/new_html/vendor/symfony/http-kernel/HttpKernel.php(80): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
#50 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/StackMiddleware/Session.php(58): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#51 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#52 /.../drupal9_composer/new_html/web/core/modules/ban/src/BanMiddleware.php(50): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#53 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\ban\BanMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#54 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#55 /.../drupal9_composer/new_html/vendor/stack/builder/src/Stack/StackedHttpKernel.php(23): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#56 /.../drupal9_composer/new_html/web/core/lib/Drupal/Core/DrupalKernel.php(708): Stack\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#57 /.../drupal9_composer/new_html/web/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#58 {main}
.
Kann mir hier jemand weiterhelfen? Habe bisher keine Lösung über Google etc. finden können.
Vielen Dank im Voraus.
- Anmelden oder Registrieren um Kommentare zu schreiben
Im Nachhinein geht das nicht
am 04.01.2022 - 13:10 Uhr
Im Nachhinein geht das nicht mehr (da upgrade_status jetzt von D9 nach D10 prüft), aber hast Du vor dem Upgrade auf Drupal 9 mit dem Modul upgrade_status überprüft, ob alle eingesetzten Module Drupal 9 kompatibel sind? Dabei wird nämlich auch gezeigt, welche Version vom MySql oder MariaDB eingesetzt werden soll. Es wird für Drupal 9 gefordert MySql 5.7.8 oder höher, MariaDB 10.3.7 oder höher. Ich vermute, das hängt damit zusammen.
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Vielen Dank für deinen
am 07.01.2022 - 13:22 Uhr
Vielen Dank für deinen Hinweis.
Es war tatsächlich noch ein Modul-Update offen eines noch inkompatiblen Moduls ("Facet"), das ich auch erst nach dem Update auf Drupal 9 aktualisieren konnte. Das Update hat nun wenigstens bewirkt, dass Inhalte, die jetzt neu in Drupal 9 angelegt wurden auch bearbeitet werden können. Allerdings Inhalte, die noch von Drupal 8 stammen, können weiterhin nicht bearbeitet werden mit der gleichen Fehlermeldung, wie bisher auch.
Die Datenbank-Version ist: 5.7.36-39-log
System: MySQL, Percona Server, or equivalent
Ich hatte vor dem Update mit dem Composer Plugin die Module auf Kompatibilität überprüft und wo nötig Patches/Updates installiert. Es müssten jetzt eigentlich alle Module kompatibel und auf dem neuesten Stand sein.
Datenbank Update unter
am 07.01.2022 - 14:55 Uhr
Datenbank Update unter /update.php oder mit
drush updatedb
wurde aber schon gemacht?ja sicher - und auch Cache
am 07.01.2022 - 15:06 Uhr
ja sicher - und auch Cache gelöscht - sowohl über das Interface/Backend als auch über drush
Ich hatte beim Upgrade auch
am 07.01.2022 - 15:16 Uhr
Ich hatte beim Upgrade auch diverse (andere) Probleme, ich habe dann eine neu parallele Installation mit D9 angelegt, nach dem alternativen Weg in dieser Anleitung: https://www.montviso.de/blog/drupal-upgrade-897-900-mit-composer-create-project
Damit hat es bei mehreren Seiten einwandfrei geklappt.
Liebe/r Pyretta. Habt ihr
am 06.02.2022 - 18:02 Uhr
Liebe/r Pyretta. Habt ihr denn noch ein Backup, das man unter die Lupe nehmen kann und das vor dem Update auf Drupal 9 gemacht wurde?
https://drupal-tv.de
Drupal sehen und lernen
Hallo Pyretta, Mails an dich
am 03.03.2022 - 11:22 Uhr
Hallo Pyretta,
Mails an dich über dein Kontaktformular scheinen im Spam zu landen. Du antwortest nämlich nicht, wenn man dich kontaktiert. Bitte das Problem lösen.
Danke.