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

Ruby on Rails Discussion :

Conventions de nommage : Multiples foreign keys au sein d'une même table pointant vers même table étrangère.


Sujet :

Ruby on Rails

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2010
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Conventions de nommage : Multiples foreign keys au sein d'une même table pointant vers même table étrangère.
    Bonjour,
    Je dois développer une application pour gérer des projets avec RoR / PostgreSQL, et j'ai un soucis au niveau des contraintes de nommage de Rail.

    Je me trouve avec une table "projets" qui regroupe les divers infos de chaque projet, et une table "projets_projets" qui liste pour chaque projet, les projets qui lui sont liés.

    En résumé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    projets
    id
    nom
    date
    responsable
    description
    debut
    fin
    cout
    incertitude
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    projets_projets
    projet_id	# le projet qui nous intéresse
    id_projet	# un autre projet dont il est dépendant
    Les deux champs de la table "projets_projets" pointent vers "id" de la table "projets".

    Vu que Rails a sa façon automatique bien à lui d'interpréter le schéma d'une base de donnée en se basant sur les noms des tables et des champs, je suis confronté à un problème.
    Comment dois-je nommer mes champs de la table projets_projets et le nom de ma table projets_projets est-il compréhensible par Rails 3.0 ?

    Enfin, même si il y a une astuce pour contourner ce cas, comme gère-t-on ce type de problème où on fait référence à une même table dans plusieurs champs au sein d'une même table étrangère ?

    Merci de votre aide

  2. #2
    Membre averti Avatar de Gregory.M
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 684
    Points : 309
    Points
    309
    Par défaut
    Salut,
    Tu peux créer la table projects_projects, je pense que ça ne devrait pas poser de problèmes.
    Ensuite dans ton modèle project tu as une relation has and belongs to many qui devrait
    ressembler à ça (je pense):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    has_and_belongs_to_many :projects, :foreign_key => "foreign_project_id"
    Tu peux essayer ça.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2010
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Merci de ta réponse.
    Je vais regarder ça

    (désolé pour le temps de réponse; pas mal de taf à côté)

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Points : 652
    Points
    652
    Par défaut
    Salut,
    Il y a plusieurs manières de gérer les tables qui pointent vers elles-memes.
    SI il y a besoin d'une relation N-N effectivement il faut une table de liaison (projets_projets).
    Mais peut être que l'utilisation de acts_as_tree ou acts_as_list peut simplement suffire ?

Discussions similaires

  1. Mapping XML foreign key multiples
    Par CheepCheep dans le forum JPA
    Réponses: 3
    Dernier message: 30/09/2014, 14h24
  2. Réponses: 5
    Dernier message: 28/08/2014, 16h49
  3. Foreign key qui pointe sur une autre db
    Par Mardewin dans le forum Requêtes
    Réponses: 1
    Dernier message: 31/03/2011, 15h10
  4. foreign key multiple (vers 2 tables ou plus)
    Par Bombastus dans le forum Langage SQL
    Réponses: 2
    Dernier message: 25/07/2006, 17h26
  5. [Foreign Key] Besoin d'explication.
    Par Andry dans le forum Débuter
    Réponses: 4
    Dernier message: 28/05/2003, 12h34

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