MYSQL 5.7 - Erreurs avec les dates à 0
En lien avec le ticket #4353 (closed)
Par défaut, MYSQL 5.7 ne supporte plus les dates à 0, du type '0000-00-00 00:00:00'. Ça vient de la config du sql_mode :
The default SQL mode in MySQL 5.7 includes these modes: ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, and NO_ENGINE_SUBSTITUTION. https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_no_zero_date
L'API Sql de SPIP s'en sort par une pirouette en lançant un set sql_mode=''
, donc ça ne se "voit pas" dans l'espace privé, mais c'est pénible dès qu'on veut manipuler dans la base directement, et pas très propre.
En modifiant la déclaration d'un champ date de datetime NOT NULL DEFAULT '0000-00-00 00:00:00' à datetime DEFAULT NULL, ça lève déjà une partie du problème.
Comme pour #4353 (closed), le plus propre serait de modifier les déclarations dans SPIP, et de faire un update pour les mises à jour.