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 :

Synchroniser Entité et Base


Sujet :

Symfony PHP

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 756
    Points : 376
    Points
    376
    Par défaut Synchroniser Entité et Base
    Salut,

    je cherche la commande permettant de mettre à jour ses entités en fonction de la structure de la base.

    Je sais que l'on peut faire

    Entité -> Base

    avec la commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php app/console doctrine:schema:update --dump-sql
    Mais je cherche à faire

    Base -> Entité

    J'ai tenté:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php bin/console doctrine:mapping:import --force MonBundle xml
    Mais le problème c'est que j'ai une table sans clé primaire apparemment (peut-être une table de jointure je ne sais pas vraiment). Et la rétro_ingénierie ne peut pas être faite pas doctrine sur ce type de table il semblerait.

    Je suis preneur de toute idée^^

  2. #2
    Membre habitué Avatar de alejandro
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2004
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2004
    Messages : 167
    Points : 188
    Points
    188
    Par défaut
    Bonjour Amnael,

    Puisque tu dois effectuer un mapping avec Doctrine, il te faut simplement rajouter une colonne id à ta table :

    Pour commencer effectue une sauvegarde de ta table originale :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CREATE TABLE matable_20170808 LIKE matable;
    INSERT INTO ma_table_20170808 SELECT * FROM matable;
    Maintenant tu peux rajouter ton champ id :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE matable ADD COLUMN id INT AUTO_INCREMENT PRIMARY KEY FIRST;
    Tu es obligé de rajouter une colonne id car c'est obligatoire sur une table pour être gérable par Doctrine.

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 756
    Points : 376
    Points
    376
    Par défaut
    Cette table est généré par une appli externe et je n'ai aucun contrôle dessus

Discussions similaires

  1. Synchronisation / réplication de bases
    Par Expert_PHP dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 30/06/2006, 02h50
  2. Synchronisation de 2 bases
    Par horalass dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 23/06/2006, 09h34
  3. [VB.net] Problème de synchronisation d'une base
    Par WriteLN dans le forum Windows Forms
    Réponses: 18
    Dernier message: 21/10/2005, 13h11
  4. Synchronisation entre 2 bases ACCESS
    Par Tchupacabra dans le forum Access
    Réponses: 2
    Dernier message: 18/10/2005, 15h24
  5. Synchronisation de 2 base de donnee
    Par toure32 dans le forum Bases de données
    Réponses: 7
    Dernier message: 23/12/2004, 00h09

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