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 :

[propel] Clés primaires [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 41
    Par défaut [propel] Clés primaires
    Bonjour,

    je suis nouveau dans symfony, et je dois refondre une application avec ...

    J'ai déjà la base de données, et j'aurais aimé savoir si il était gênant d'avoir des clés primaires de type :

    client.id_client

    pour fonctionner avec Propel (generate crud ... etc).

    Merci de votre aide ^^

  2. #2
    Membre chevronné
    Avatar de bricecol
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 364
    Par défaut
    bonjour,

    il est certain que propel reconnait automatiquement un champ "id" comme étant int/primaire/autoincrémenté (une clé primaire en fait)... et qu'il reconnait aussi un champ de type xxx_id comme étant une clé étrangère ! or dans ton cas, ton champ se nomme id_xxx, ce qui ne devrait poser aucun problème. tu devra cependant dire explicitement que id_client est la clé primaire.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 41
    Par défaut
    Merci de ta réponse.

    Je posais cette questions parce que j'ai tenté de générer un CRUD pour mes clients :

    -sh-3.1$ ./symfony propel-generate-crud backend clients Clients


    Et voici l'erreur renvoyée :

    PHP Parse error: syntax error, unexpected '-', expecting '{' in /home/samba/svn/mc/trunk/symfony/lib/model/map/Codes-packMapBuilder.php on line 5

    Parse error: syntax error, unexpected '-', expecting '{' in /home/samba/svn/mc/trunk/symfony/lib/model/map/Codes-packMapBuilder.php on line 5
    J'ai bien une application backend, et un module clients ... Vous avez une idée du problème ?

    merci de votre aide.

  4. #4
    Membre chevronné
    Avatar de bricecol
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2007
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 364
    Par défaut
    il est vrai que c'est une erreur peu commune, pour ma part en tout cas. il arrive que le système s'emmêle.

    voici ce que je propose :

    - sauvegarder les modèles perso dans un dossier tmp
    - supprimer les modèles générés et les modèles perso
    - faire un clean cache
    - régénérer les modèles et remettre les modèles perso

    l'erreur provient peut-être d'une précédente erreur ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 41
    Par défaut
    J'ai testé, j'ai toujours la même réponse ...

    J'ai aussi testé l'exécution de la commande en root, pareil.

    J'ai eu des erreurs précédemment, lors de l'execution de propel-build-model, j'ai du supprimer les formats par défaut sur les champs date (fichier yml).

    Maintenant, l'erreur actuelle, je ne vois vraiment pas comment en sortir ..

    J'ai supprimé tout ce que j'avais généré avant puis j'ai fait un :
    symfony cc


    Puis j'exécute la commande, et ça ne fonctionne pas ...

    ./symfony propel-generate-crud backend clients Clients


    EDIT : je précise que je suis sur la version sf_sandbox de symfony

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 41
    Par défaut
    Voici ce que je viens de faire :

    supprimer les modèles
    remettre le schema.yml qui fonctionne bien

    puis :

    ./symfony propel-build-schema
    ./symfony propel-build-model

    ./symfony init-app backend_test
    ./symfony init-module backend_test clients


    Tout a fonctionné jusqu'à exécution de :

    ./symfony propel-generate-crud backend_test clients Clients


    Et là, je plante ...

    Help !

    Je dois faire une boulette, mais je n'arrive pas à savoir laquelle :s

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

Discussions similaires

  1. Requête sur table à double clés primaires
    Par darkian dans le forum Langage SQL
    Réponses: 4
    Dernier message: 04/03/2005, 17h28
  2. [C#] Probleme sur les clés primaires composites
    Par stardeus dans le forum Windows Forms
    Réponses: 7
    Dernier message: 12/02/2005, 23h28
  3. Comment avoir 2 clés primaires dans une table
    Par Guigui_ dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 18/01/2005, 08h29
  4. [SGBDR]Clés primaires?
    Par vsavoir dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 21/11/2004, 22h48
  5. [postgresql]creer une table avec plusieurs clés primaire??
    Par perlgirl dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/11/2004, 17h24

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