Wednesday, 15 February 2012

MySQL error 1064 on Jobeet day 3



Voici le fix pour une erreur mysql sur laquelle je me suis arrachée les cheveux pendant deux jours (donc je la met sur le blog pour rentabiliser :p):
C'est sur le tutoriel Symfony Jobeet (qu'on est sensés terminer en moins de 24h d'après la pub), au jour 3 : en mode console, on nous demande de créer des tables dans une base de données à partir d'un fichier YAML.
Plus précisément, on nous demande de générer du sql et de l’exécuter dans la base en utilisant l'outil ORM propel.
Encore plus précisément, cela consiste à taper deux lignes dans l'invite de commande :

>> symfony propel:build-sql
>> symfony propel:insert-sq

...et de laisser faire le pc faire tout le boulot. En théorie. Sauf qu'en fait ça marche pas dans tous les cas ! Voilà le message d'erreur qui est apparu dans mes cauchemars :



Après des heures de prise de tête et de questionnement philosophique ( --et si je devenais pas facteur au lieu de développeur finalement ?) j'ai fini par déterrer un post unique sur internet résolvant le problème...


...que je relaie ici :)


Voilà la marche à suivre :

1. Ouvrez votre fichier MysqlDDLBuilder.php, localisé vers :
symfony/lib/plugins/sfPropelPlugin/lib/vendor/propel-generator/classes/propel/engine/builder/sql/mysql/MysqlDDLBuilder.php
2. A la ligne 156 changez :
$script .= "Type=$mysqlTableType";
en :
$script .= "Engine=$mysqlTableType";
3. N'oubliez pas de vider le cache symfony :
>> symfony cc
4. Et ça marche !!!


Petites explications :

Comme vous avez pu le constater en empruntant le chemin ci-dessus, le problème vient de propel. Si vous êtes confrontés à cette erreur, c'est parce que vous utilisez la version 1 de propel qui a certaines incompatibilités avec mysql, comme celle à laquelle nous avons fait face.
Contrairement à ce qui est indiqué dans le deuxième post (voir lien), je n'ai pas upgradé propel car l'environnement de travail dans mon entreprise utilise exclusivement propel 1. Si vous ne devez pas faire face à ce genre de considérations il est effectivement préférable d'upgrader propel à sa version 1.5... en théorie. Si vous n'avez pas PEAR et que vous êtes pressés ça risque d'apporter son lot d'arrachage de cheveux supplémentaire.
(symfony installe ses plugins grâce à PEAR, qui n'est pas inclus d'office dans la version 1.2 du framework. Et si vous voulez l'installer, malgré le "Install pear is not complicated" dans le readme, ça se fait en mode console, plus il faut tripoter les variables d'environnement... enfin bref on a plus vite fait d'utiliser la méthode rapide et c'est meilleur pour la santé capillaire)



Saturday, 26 November 2011

Pixel art BABY !!!

Coucou tout le monde !
Voici en passant un 'tit dessin en pixel art que je devais upload ;)
Il s'agit de... d'une femme des cavernes en bikini oui, c'est à peu près ça... -_-'  Bon, à l'origine elle était sensée tenir un vrai marteau de guerre et pas une massue de cro-magnon, mais j'ai fait une crise de flemmicite en cours de route. ><  Sinon, que dire de plus, c'est une sprite destinée à un petit jeu à moi en développement dont vous aurez bientôt des nouvelles. ;)


Et voilà le rendu en taille réelle !
Pour un premier vrai dessin en pixel art... Oui bon, je sais les yeux sont étranges, mais vous les auriez dessinés comment vous, ces 4 pixels ? Je suis ouverte à toute proposition ><

Hubert Flotaillon - Episode 1.1 - Motisma


"(...) La Société Mécadruidienne accorde un statut tout particulier aux interactions élémentaires survenant entre ses membres. [...] En premier lieu, "Dsfröwx" est le fait de rechercher un tiers sur sa propre initiative. Ce point revêt une importance toute particulière pour les Mécadruides car mentionné dans l'ultime version de la Liste dite "Noire", la même qui dénonça en -8'362'441 de notre ère [...] les comportements sociétaires dits d'"amoindrissement". [...] En conséquence de quoi il est énoncé dans le Credo : "tout Être ne pourra être en capacité de trouver l'Être qu'il tend à solliciter ; qu'on se le dise ainsi, car il en est désormais de l'ordre de la Société : Celui que tu cherche tu ne trouvera point, et de Celui dont tu ne t'ennuies de l'existence tu viendras à la rencontre". (...)"
extrait de Le Credo à l'usage de tous, interprétation de Mourbouff, dit Le Louf

Le papier d'emballage du sandwich se désintégra dans un jaillissement d'étincelles. Hubert se renfonça dans son fauteuil en sifflotant. Deux rebonds sur le désintégrateur de bord, ça n'arrivait pas si souvent. Loin devant le nez du Mouette-Mouette, un point rose brillant venait d'apparaître. Sans cesser de siffloter, il augmenta le son de la stéréo (Left Hand Suzuki Method, un vieux truc bien sympathique) et observa la géante gazeuse Motisma grandir dans son pare-brise. La musique lancinante ne rendait le spectacle que plus féérique. Un paysage de tourbillons entremêles d'un mauve lumineux ne tarda pas à emplir tout l'espace du pare-brise. Aux endroits ou les perturbations étaient les plus violentes, des nœuds semblaient se former entre les courants. Ces taches de couleur plus vive étaient parcourues par intermitence par la lumière rosée de violents éclairs. Fasciné, notre astronaute en herbe ne pouvait détacher son regard de ce titanesque ballet.
Des vibrations ébranlèrent l'habitacle tandis que le pilote automatique corrigeait la trajectoire d'approche, s'orientant vers le satellite artificiel de l'ambassade Mécadruidienne.

Pour rappel : le prologue du récit des palpitantes tribulations d'Hubert Flotaillon est disponible ici ;)