Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 26-03-2014 12:17:06

JGreco
Administrateur
Date d'inscription: 22-12-2012
Messages: 432

[Résolu] Doctrine validate-schema PDOException

Bonjour,

J'ai un soucis avec l'installation de doctrine selon le tutoriel de Marco Pivetta ici
http://marco-pivetta.com/doctrine-orm-zf2-tutorial/#/24

A ce point précis j'ai comme résultat une exception en ligne de commande donc :

[PDOException]
  SQLSTATE[HY000] [1045] Access denied for user 'username'@'localhost' (using password: YES)

je suis allé voir dans la classe de doctrine Doctrine\DBAL\Driver\PDOMySql (module orm doctrine pour zf2)
ce que le constructeur prenais comme configuration...
Et là surprise.... sur la methode du constructeur la variable $params qui aurait du être remplie avec les variable de mon fichier :
doctrine.local.php
ne l'est pas, du coup la connexion de doctrine sur ma bdd ne marche pas..

J'ai donc aucune idée d'ou l'erreur peut venir, en ligne de commande ma config ne se charge pas, c'est peut être que j'ai oublié de mettre le chargement des config dans un fichier ?

Je suis perdu j'espère que vous pourrez m'aider !

Merci d'avance !!

Dernière modification par JGreco (27-03-2014 14:21:30)


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#2 26-03-2014 16:02:58

JGreco
Administrateur
Date d'inscription: 22-12-2012
Messages: 432

Re: [Résolu] Doctrine validate-schema PDOException

Rebonjour,
Alors apparemment, mon problème viendrait du fichier cli-config.php a la racine.
Voici le mien :
<?php
use Doctrine\ORM\Tools\Console\ConsoleRunner;

// replace with file to your own project bootstrap
require_once 'vendor/autoload.php';
// replace with mechanism to retrieve EntityManager in your app
$entityManager = GetEntityManager();

return ConsoleRunner::createHelperSet($entityManager);

Une idée de ce qui ne vas pas ?

Merci d'avance


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#3 26-03-2014 16:34:00

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: [Résolu] Doctrine validate-schema PDOException

Salut, désolé j'avais pas vu ton message.

Le problème vient de toi, tu as au moins le bon réflexe de lire la doc de la personne qui maintient le module donc c'est bien smile. Mais tu te compliques la vie : https://github.com/doctrine/DoctrineORMModule tu suis les étapes et ça marche du premier coup ! Tu n'as même pas besoin de renseigner DoctrineModule dans ton composer.json puisque DoctrineORMModule a une dépendance vers DoctrineModule.

Hors ligne

 

#4 26-03-2014 16:53:13

JGreco
Administrateur
Date d'inscription: 22-12-2012
Messages: 432

Re: [Résolu] Doctrine validate-schema PDOException

Bonjour,
Merci de ta réponse, je tiens a dire que je suis encore nouveau dans zf2 et encore plus dans doctrine.
Je suis sur windows 7 et j'utilise Console2 avec le git bash pour les lignes de commande, cela du coup change un peu par rapport aux tutos que j'ai pu voir cela ne marche pas forcément du premier coup. J'ai testé énormément de chose du coup j'ai peut être pas le recul nécessaire pour dire ce que j'ai fait de bien ou mal ^^'

Toutefois quand je test l'appli(donc sur un navigateur), tout marche ma configuration à la base de donnée est correcte. Mais c'est quand je fait cette commande :

./vendor/bin/doctrine-module orm:validate-schema

que sa plante avec l'erreur du premier message,
sur stack overflow, quelqu'un m'a conseillé de voir du coté de mon fichier cli-config pour faire fonctionner les lignes de commandes. Il a en partie raison je pense, puisque déjà je devais faire une requete différente puisque je suis sur windows :
$ php ./vendor/doctrine/orm/bin/doctrine orm:validate-schema

et la du coup mon cli-config doit créer une instance d'entity manager et par la meme occasion me connecter à la base de donnée. Toutefois.... en lisant
http://doctrine-orm.readthedocs.org/en/ … ation.html
J'ai pas bien tout compri, mais je ne suis pas capable de faire un fichier de config correcte pour faire marcher cette ligne de commande.

Je ne sais pas si je suis clair j'ai toute la journée de recherche dans la tête !! ;p

Merci pour ton aide en tous cas !


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#5 26-03-2014 17:12:56

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: [Résolu] Doctrine validate-schema PDOException

Tu peux utiliser git bash de base ça fonctionne très bien et ça évite des surprises. Tu as sourcetree pour git et windows et ça va t'installer git bash normalement.

Ensuite pour le cli tu peux l'utiliser depuis le fichier index.php du dossier public php index orm:schema-tool:update --force

Hors ligne

 

#6 26-03-2014 18:28:31

JGreco
Administrateur
Date d'inscription: 22-12-2012
Messages: 432

Re: [Résolu] Doctrine validate-schema PDOException

Merci pour ta réponse encore une fois !
git bash est installé et marche bien toutes mes commandes marche pas de surprise, niquel.
Non mon seul soucis c'est de lancer mes commandes linux de doctrine.

Le cli est bien lancé de ./vendor/doctrine/orm/bin/doctrine orm:validate-schema
Pas forcément besoin de passer par l'index si ?
c'est juste que je comprends pas vraiment ce que je fais en ce moment avec cette histoire de CLI et d'entity manager, la langue de Shakespeare n'est pas vraiment celle que je maîtrise le mieux, du coup c'est compliqué de lire la doc de doctrine quand, initialement on comprends pas tellement ce qu'on fait.

Vivement que je me débloque !


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#7 27-03-2014 09:56:09

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: [Résolu] Doctrine validate-schema PDOException

JGreco a écrit:

Le cli est bien lancé de ./vendor/doctrine/orm/bin/doctrine orm:validate-schema
Pas forcément besoin de passer par l'index si ?

Bah écoutes fais comme tu veux, je te donne une solution à toi de voir si tu veux la suivre ou non.

Pour l'anglais c'est comme tout le monde ... A force de le lire et de prendre le temps d'essayer de comprendre on fini par avoir moins de difficultés et ça passe tout seul. Honnêtement la doc de DoctrineModule et DoctrineORMModule est en partie faite par un français (j'en ai d'ailleurs écrit un tout petit bout), ça se lit bien wink.

Il n'y a rien de vraiment compliqué à comprendre quand la doc dit ça :

Command Line

Access the Doctrine command line as following

./vendor/bin/doctrine-module

De plus tu demandes visiblement de l'aide sur la bonne commande à utiliser et derrière tu n'utilises plus la bonne ...

JGreco a écrit:

./vendor/bin/doctrine-module orm:validate-schema
...
$ php ./vendor/doctrine/orm/bin/doctrine orm:validate-schema

Sous windows il est préférable d'utiliser avec php directement même si le .bat revient au même.

Donc ton problème vient simplement du fais que tu n'as pas fait l'effort de lire la doc (c'est quand même le readme) parce que tu n'utilises pas le bon cli. Le cli doctrine de base ne va pas charger la conf doctrine qui elle est liée au système de configuration du ZF2. Ce qui fait que ça ne marche pas. Et la solution est donc soit d'utiliser dans le vendor le bon cli soit d'utiliser le cli depuis le fichier index.php (qui au final appel le cli qui se trouve ici ./vendor/bin/doctrine-module ça évite juste de descendre dans l'arborescence de fichier).

Tu as là un exemple de comment perdre ton temps sur un problème qui n'en est pas wink

Hors ligne

 

#8 27-03-2014 11:08:31

JGreco
Administrateur
Date d'inscription: 22-12-2012
Messages: 432

Re: [Résolu] Doctrine validate-schema PDOException

J'ai trouvé la solution, ta réponse m'y as aidé en partie donc merci.
Il y avait bien un soucis.

La bonne commande sous windows sans avoir besoin de cli-config.php a la racine était d'écrire :

vendor/bin/doctrine-module orm:validate-schema

Mais l'astuce résidait, a exporter dans le Bash_profile la variable APPLICATION_ENV, sinon mon exception PDO apparaît...

export APPLICATION_ENV="development" dans le bash_profile de git.

Le résultat en sortie est donc bien égal a ce que l'on voit sur le tutoriel de Marco Pivetta.

Comme quoi...

Merci en tous cas. Je continue le tutoriel voir si tout se passe bien, qui sait il y a encore peut être quelques pépites.


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#9 27-03-2014 11:13:04

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: [Résolu] Doctrine validate-schema PDOException

Je suis sous windows 7 et j'ai jamais eu à faire ça ... Donc soit ton fichier de conf (doctrine.global.php) fait un test sur ta variable d'environnement APPLICATION_ENV et dans ce cas forcément faut lui préciser dans le cas contraire ça marche tout seul. C'est le but. Et à partir du ZF 2.3 tu peux utiliser le cli directement depuis le fichier index.php ça évite d'avoir à chercher et surtout tout est centralisé dans le cas où plusieurs modules proposent un cli.

Et oui si tu veux utiliser le cli dans le vendor c'est bien vendor/bin/doctrine-module.php qui lui va bien récupérer ta conf dans le doctrine.global.php wink

Hors ligne

 

#10 27-03-2014 11:20:13

JGreco
Administrateur
Date d'inscription: 22-12-2012
Messages: 432

Re: [Résolu] Doctrine validate-schema PDOException

Bien c'est peut être une bizarrerie de ma configuration, que sais-je mon application.config.php fait un test sur mon environnement, pas mon doctrine.local.php....
Toutefois si j'enlève l'export j'ai l'erreur si je la laisse tout marche niquel, et même les étapes suivantes de création de schéma me créée bien les tables, bref tout vas beaucoup mieux.

Je vais enfin pouvoir bosser avec doctrine quel pied !! XD


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#11 27-03-2014 11:44:11

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: [Résolu] Doctrine validate-schema PDOException

Et ils ressemblent à quoi tes fichiers application.config.php et doctrine.global.php ? Parce que par défaut ils font pas de tests sur l'environnement

Hors ligne

 

#12 27-03-2014 11:50:20

JGreco
Administrateur
Date d'inscription: 22-12-2012
Messages: 432

Re: [Résolu] Doctrine validate-schema PDOException

Pour mon application config j'ai suivi ce petit tutoriel directement sur la doc de zf2 il est à l'identique :

http://framework.zend.com/manual/2.2/en … anced.html

et mon doctrine.local.php il est identique a celui de Marco pivetta dans son tuto :

return array(
  'doctrine' => array(
    'connection' => array(
      'orm_default' => array(
        'driverClass' =>'Doctrine\DBAL\Driver\PDOMySql\Driver',
        'params' => array(
          'host'     => 'localhost',
          'port'     => '3306',
          'user'     => 'username',
          'password' => 'password',
          'dbname'   => 'database',
)))));

Je peux tester de mettre mon fichier application.config.php en normal pour tester si c'est bien le problème je fais ça et je reviens vers toi :p

Dernière modification par JGreco (27-03-2014 11:51:28)


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#13 27-03-2014 11:56:22

JGreco
Administrateur
Date d'inscription: 22-12-2012
Messages: 432

Re: [Résolu] Doctrine validate-schema PDOException

C'était bien cela ! je te le confirme en modifiant mon application.config.php pour gérer les différents environnement ne pas exporter ma variable renvoyait l'erreur, en faisant avec un application.config.php standard, aucune erreur tout marche bien.


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#14 27-03-2014 12:13:33

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: [Résolu] Doctrine validate-schema PDOException

Oui par défaut le fichier du ZendSkeletonApplication ne fait pas ce genre de test.

Hors ligne

 

#15 27-03-2014 12:37:25

JGreco
Administrateur
Date d'inscription: 22-12-2012
Messages: 432

Re: [Résolu] Doctrine validate-schema PDOException

Orkin a écrit:

Tu as là un exemple de comment perdre ton temps sur un problème qui n'en est pas wink

Finalement non donc ? :p


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

#16 27-03-2014 14:13:00

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: [Résolu] Doctrine validate-schema PDOException

Bah si parce que c'est pas un problème si tu installes le ZF2 comme expliquer dans la doc tu récupères le ZendSkeletonApplication avec les paramètres par défaut qui ne tiennent pas compte de l'environnement. L'environnement c'est toi qui l'a rajouté donc tu as causé toi même ton problème.

Hors ligne

 

#17 27-03-2014 14:21:14

JGreco
Administrateur
Date d'inscription: 22-12-2012
Messages: 432

Re: [Résolu] Doctrine validate-schema PDOException

En partant du principe que l'application.config.php n'a pas besoin de gérer les environnements, oui j'aurais perdu du temps, sachant que je devais le faire comme ça cette perte de temps était nécessaire.

Je pense, que ce problème bien que très spécifique à le mérite d'être intéressant. Merci en tout cas pour ton temps et tes réponses.

Problème solved !


ZF2 et doctrine addict
profil stack overflow : http://stackoverflow.com/users/3333246/ … ab=profile

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages