L'entrée en DB est supprimée pour un champ type number si sa valeur est égale à celle par défaut

Bonjour,

BugReport
Par exemple pour data-l1key="widget::step::height", si on configure sa valeur à 150 comme dans :

Cela supprime son entrée en DB.

Page concernée : Réglages => Sytème => Configuration => Interface
Version Core : 4.4.2

Etape pour reproduire le Bug :
Configurer la valeur de data-l1key="widget::step::height" à 100, verifier sa présence en DB :

SELECT * FROM `config` WHERE `key` LIKE '%step%'


Configurer la valeur de data-l1key="widget::step::height" à 150, verifier sa présence en DB :

SELECT * FROM `config` WHERE `key` LIKE '%step%'



Pour info. le comportement est le même en 4.3 donc ce script ne fonctionne pas si on utilise les valeurs par défaut :

Salut,

Et c’est quoi le problème exactement? si c’est la valeur par défaut, ca peut être un choix de supprimer la valeur non? de toute façon ca revient sur le défaut si on fait un get

Oui en effet ça peut être voulu mais ça veut dire qu’on ne peut pas faire un config::byKey sur une clé qui a une valeur par défaut ?

tu peux mais tu ne vas pas récupérer la valeur que le core a décidé effectivement

Ceci dit le « problème » est là pour moi: le code X n’est pas sensé aller lire la config du code Y selon moi (encore moi écrire)
donc le core gère ses settings.

de toute façon tu ne peux pas prédire s’il y a une valeur en db ou pas indépendamment de ce que tu remontes ici, au début il n’y a p-e déjà rien du tout non?

Vous avez parfaitement raison, c’est bien le comportement voulu, je n’avais jamais remarqué et ça m’a surpris, toutes mes excuses.

En fait j’essaye de comprendre pourquoi le script d’update ne fonctionne pas et donc c’est bien le code du core que j’essaye de debugger mais j’ai fait fausse piste.

t’as pas à t’excuser, et je ne sais pas si c’était voulu ou pas;
et je ne sais pas si j’aurais fait le même choix mais je me dis que c’est une logique possible :wink:

1 « J'aime »

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.