Je rencontre l’erreur suivante lors de la mise à jour :
Erreur DB_ERROR_1292: ALTER TABLE llx_accounting_account MODIFY fk_pcg_version VARCHAR(20) CHARACTER SET utf8;
Incorrect datetime value: ‹ 0000-00-00 00:00:00 › for column ‹ tms › at row 1
Est-ce que je dois modifier les valeurs de la colonne tms ? (toutes les lignes sont à 0000-00-00 00:00:00)
Et si oui que dois-je mettre comme valeur ?
J’ai un accès via phpmyadmin
Est-ce que cela ne viendrait pas du fait que MySQL soit en mode STRICT, où les dates à 0000-00… sont considérées comme invalides ?
Dans ce cas, il faut désactiver le mode STRICT_TRANS_TABLES dans le fichier de configuration de MySQL :
- /etc/mysql/my.cnf (Linux Ubuntu) ;
- my.ini sous Windows.
On peut aussi le faire en ligne de commande si on a les droits adéquats.
J’ai eu la même erreur, en plusieurs exemplaires. Passage de la 6.0.5 à la 7.0 puis idem de la 7.0 à la 7.01. J’ai fait ignorer et tout ‹ semble › fonctionner mais au cas où :
Erreur DB_ERROR_1292: ALTER TABLE llx_accounting_account DROP FOREIGN KEY fk_accountingaccount_fk_pcg_version;
Incorrect datetime value: ‹ 0000-00-00 00:00:00 › for column ‹ tms › at row 1
Erreur DB_ERROR_1292: ALTER TABLE llx_accounting_account DROP FOREIGN KEY fk_accounting_account_fk_pcg_version;
Incorrect datetime value: ‹ 0000-00-00 00:00:00 › for column ‹ tms › at row 1
Erreur DB_ERROR_1292: ALTER TABLE llx_accounting_account MODIFY fk_pcg_version VARCHAR(20) CHARACTER SET utf8;
Incorrect datetime value: ‹ 0000-00-00 00:00:00 › for column ‹ tms › at row 1
Erreur DB_ERROR_1292: ALTER TABLE llx_accounting_account MODIFY fk_pcg_version VARCHAR(20) COLLATE utf8_unicode_ci;
Incorrect datetime value: ‹ 0000-00-00 00:00:00 › for column ‹ tms › at row 1
Erreur DB_ERROR_1292: ALTER TABLE llx_accounting_account MODIFY account_number VARCHAR(20) CHARACTER SET utf8;
Incorrect datetime value: ‹ 0000-00-00 00:00:00 › for column ‹ tms › at row 1
Erreur DB_ERROR_1292: ALTER TABLE llx_accounting_account MODIFY account_number VARCHAR(20) COLLATE utf8_unicode_ci;
Incorrect datetime value: ‹ 0000-00-00 00:00:00 › for column ‹ tms › at row 1
Erreur DB_ERROR_1292: ALTER TABLE llx_accounting_account ADD CONSTRAINT fk_accounting_account_fk_pcg_version FOREIGN KEY (fk_pcg_version) REFERENCES llx_accounting_system (pcg_version);
Incorrect datetime value: ‹ 0000-00-00 00:00:00 › for column ‹ tms › at row 1
Erreur DB_ERROR_1292: ALTER TABLE llx_accounting_account ADD COLUMN import_key varchar(14);
Incorrect datetime value: ‹ 0000-00-00 00:00:00 › for column ‹ tms › at row 1
Erreur DB_ERROR_1292: ALTER TABLE llx_accounting_account ADD COLUMN extraparams varchar(255);
Incorrect datetime value: ‹ 0000-00-00 00:00:00 › for column ‹ tms › at row 1
Dans phpmyadmin variable serveur recherche ‹ sql mode ›
- Modifier les paramètres en enlevant ‹ NO_ZERO_IN_DATE,NO_ZERO_DATE ›
- Executer la requête:
UPDATE llx_accounting_account SET datec= ‹ 1000-01-01 00:00:00 › WHERE datec= ‹ 0000-00-00 00:00:00 ›
- Modifier les paramètres en rajoutant ‹ NO_ZERO_IN_DATE,NO_ZERO_DATE ›
- Refaire relancer la passe de migration
j’ai le même soucis
cela ne fonctionne pas avec l’install par défaut de mysql 5.7
c’est expliqué sur https://stackoverflow.com/questions/9192027/invalid-default-value-for-create-date-timestamp-field
j’ai du faire un update llx_accounting_account set tms = ‹ 1990-01-01 00:00:01 › et cela fonctionne
il faudrait adapter les valeurs par défaut, car j’imagine que dolibarr ne crée pas de valeur par défaut et que ca fait planter l’appli plus tard …
Mais seulement deux. Tous les conseils sont les bienvenus…
Pour info supplémentaire, cette installation de Dolibarr est la même depuis pas loin de 10 ans, d’upgrade en upgrade et de serveur en serveur. Et elle est toujours au top. Avec ce petit soucis en moins ce serait parfaitement parfait