GX-Task #46135
geschlossenMySQL-Strict-Kompatibilität erforderlich
100%
Beschreibung
Es soll ab sofort MySQL-Strict-sicher programmiert werden. Grund ist, dass mit MySQL 5.7 einige Strict-Einstellungen standardmäßig(?) aktiviert sind und diese MySQL-Version jetzt bei immer mehr Hostern aktiviert wird. Um folgende sql_mode-Einstellungen geht es:
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Das hat zur Folge, dass z. B. ein leerer Zeitstempel nicht mehr 0000-00-00 00:00:00 lauten darf, sondern 1000-01-01 00:00:00. Entsprechend muss evtl. PHP-Logik angepasst werden, die aktuell für ein Leerdatum noch von 0000-00-00 00:00:00 ausgeht.
In CREATE TABLE Befehlen ist es außerdem Pflicht für jede Spalte einen DEFAULT-Wert anzugeben, sofern der Datentyp einen DEFAULT-Wert unterstützt.
Der Shop deaktiviert aktuell den Strict-Modus. Daher ist es notwendig den Strict-Modus über eine debug/debug_config.inc.php zuzulassen. In der Datei muss (mindestens) Folgendes enthalten sein:
<?php $t_debug_config = array( 'ENABLED_SOURCES' => array() ); $t_debug_config['ENABLED_SOURCES'][] = 'enable_mysql_strict_mode';
Nichts anzuzeigen