new cron, taille du champ tags

Bonsoir,

J’ai un soucis avec un scénario qui ne veux pas créer de tâche programmée. Je m’explique car je crois savoir pourquoi.

  • L’erreur : [MySQL] Error code : 22001 (1406). Data too long for column ‹ option › at row 1
  • Si j’édite core/scenarioElement.class.php ligne 222 pour supprimer le passage des tags du scénario à la nouvelle cron (le setOptions), çà fonctionne.
  • Je pense donc qu’il y a trop de tags / trop long pour le champ en base de la cron ?
    Les tags:{"#useless#":"#1252#","#plugin#":« snips »,"#identifier#":« snips::kiboost:LightTimeOnJeedom::room-duration »,"#intent#":« LightTimeOnJeedom »,"#siteId#":« default »,"#query#":« allume le salon pendant vingt minutes »,"#house_room#":« salon »,"#duration#":« 1200 »}

C’est un scénario exécuté par un intent du plugin snips. Il pourrait donc y’avoir des phrases encore plus longue etc etc

Pouvez vous me confirmer la limite en nombre de caractères de ce champ dans la base ?

Et serait-ce envisageable lors d’une prochaine mise à jour du core de l’augmenter sensiblement ? Comment le faire manuellement dès maintenant pour tester ?

Merci

Dans le fichier install apperemment le champ optoin d’un cron est en varchar(255).
A voir si on peux l’augmenter ?

Sinon au début du scénario, je nettoie les tags et çà marche:

//Clean tags to be shorter in database for DANS
$tags = $scenario->getTags();
$removeArr = array('#useless#', '#plugin#', '#identifier#', '#query#');
$newTags = array();
foreach ($tags as $key => $value) {
    if (in_array($key, $removeArr)) continue;
    $newTags[$key] = $value;
}
$scenario->setTags($newTags); 

Bonjour,
J’ai agrandi le champs de 255 à 511 en 3.3.4, par contre pas possible d’aller plus loin car le champs est indexé.

J’ai l’impression que ça ne passe pas. J’ai une erreur pendant la mise à jour.

Super, 511 devrait suffir. Merci, je fais passer à la team snips :wink: