IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

symphony2 avec doctrine 2 no sync


Sujet :

Symfony PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 35
    Points : 33
    Points
    33
    Par défaut symphony2 avec doctrine 2 no sync
    Bonjour à toutes et à tous

    Je suis confronté à un problème qui dure des semaines et que je n'arrive toujours à pas résoudre... :/

    Je m'explique, j'ai repris un projet symphony2 d'un ancien collègue, j'ai fais quelques manipulations pour tester quelques fonctionnalitées banales et puis, gros crash de la base de données (Mysql), impossible d'y accéder, fallait que ça tombe sur moi comme par hasard xD,certe c'était le gros bad karma de ma life ^^...

    J'ai donc supprimé la base de données et puis j'en ai créé une autre avec un script de sauvegarde, jusque là pas de problèmes..

    Mais maintenant le soucis c'est que je me suis rendu compte que doctrine n'était plus synchronisé avec cette base de données, càd qu'il n'incrémentait plus les $id.

    Et depuis j'essaye des tas de solutions mais rien à faire

    L'ancien collège a pris cette libraries au lieu de l'officiel '-_- va savoir ! https://github.com/opensolutions/doctrine2bridge-l5

    Si quelqu'un parmi vous à une ou plusieurs solutions à tester je suis preneur !

    Merci pour vos réponses

  2. #2
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    (1)
    annihile complètement le bundle doctrine2bridge pour utiliser l'officiel.


    (2) vérifier que tous tes entités ont bien ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
        /**
         * @var integer
         *
         * @ORM\Column(name="id", type="integer", nullable=false)
         * @ORM\Id
         * @ORM\GeneratedValue(strategy="IDENTITY")
         */
        private $id;
    
    
    et avec :
    
        /**
         * Get id
         *
         * @return integer 
         */
        public function getId()
        {
            return $this->id;
        }

    (3)
    vérifier que tous tes tables en base de donnée ont un champ id en clé primaire et en AUTO INCREMENT




    ça donne quoi pour les 3 points ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 35
    Points : 33
    Points
    33
    Par défaut
    Pour le point 3
    en vérifiant quelques tables, les champs id ne sont pas ou ne sont plus en PK et AI, faut il les modifier à la main OU dire à doctrine de recréer la base de données à partir de ses entities ?
    Parce que logiquement c'est orm qui doit le faire à ma place...

    voici un exemple d’entité que j'ai en ma possession:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    class Contract {
     
        /**
         * @Id
         * @GeneratedValue
         * @Column(type="integer")
         */
        private $id;
        /** @Column(name="contract", type="string", length=30) */
     
     
    }
    D'après la documentation si la strategy de l'id n'est pas définie alors il doit être en AUTO si je m'abuse, et comme j'utilise un Mysql il prendra alors IDENTITY.

  4. #4
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    Parce que logiquement c'est orm qui doit le faire à ma place...
    ah ces informaticiens, tous des fainéants ! je plaisante.


    bah as tu essayé la commande Symfony pour ça ? (je crois que c'est "schema update" pour mettre à jour les tables par rapport aux entités)

    sinon tu peux le faire à la main

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 35
    Points : 33
    Points
    33
    Par défaut
    les updates ne fonctionnent pas, j'ai un message d'erreur me disant que la table lambda existe déjà alors que c'est juste un update , du coup je vais laisser mon côté de fainéantise de coté et je vais faire les changements, espérant que ça ne posera pas de problème par la suite.

    PS: Ce qui pourrait gêner par la suite c'est si un entity devrait être créer, je serais encore bloqué par l'update, et donc comment passer outre ce message d'erreur ? :/

  6. #6
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    avec "--force" peut être ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    php app/console doctrine:schema:update --force
    php bin/console doctrine:schema:update --force

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2006
    Messages : 35
    Points : 33
    Points
    33
    Par défaut
    "utilisant la librairie D2B, je n'ai pas l'option --force mais --commit"

    Maintenant je suis confronté à un autre soucis, j'essaye de lancer la commande d2b:schema:validate et j'obtiens
    [Mapping] OK - The mapping files are correct.
    [Doctrine\DBAL\Schema\SchemaException]
    The table with name 'tree_species_quality' already exists.

    Alors que j'ai viré toutes les tables de la base de données..
    Afin de vérifier la connexion vers la base de données, j'ai supprimé cette dernière et j'ai relancé la commande.
    Résultat, il me marque bien que la base que j'ai supprimé est bien manquante donc logiquement la connexion a été bien configuré.
    Maintenant reste à savoir, si j'ai ai pas deux fois la même table...

    Je travail sous PhpStorm et est il possible de rechercher des mots dans tout le projet avec l'outil de recherche ?
    J'ai trouvé comment faire des recherches plus poussées dans PhpStorm et il n'y aucun problème dans la création de la table 'tree_species_quality'...


    Il y avait deux fois @manytomany 'tree_species_quality' -_-

    Merci pour ton aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [SQL-Server] Souci de connexion avec Doctrine 2.0, PDO et PHP 5.3
    Par ovh dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/06/2010, 15h03
  2. [Doctrine] insertions multiples
    Par coachbob44 dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 02/04/2010, 10h20
  3. [Doctrine] Call to undefined function ctype_digit() avec doctrine
    Par Jonathan.b dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/12/2009, 12h22
  4. [Doctrine] shema.yml avec doctrine
    Par mixka13 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 26/11/2009, 15h13
  5. [ZF 1.7] problème avec doctrine + oracle sur zendframework
    Par cornnery dans le forum Zend_Db
    Réponses: 1
    Dernier message: 09/03/2009, 17h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo