Ouverture de session

Commentaires récents

Syndication
Flux XML

Convention de nommage de la base de données

Convention de nommage de la base de données
Posté par Red le Mercredi, 9 Avril, 2008 - 4:18pm. Débuter avec Rails

Bonjour à tous,

Je souhaiterai connaitre la convention de nommage des tables pour ma base de données afin de coller au principe de Rails car j'ai lu ici qu' « Il suffit que le nom de la table de la base de données corresponde à celui de la classe Ruby »
Est-ce la seule règle à suivre ou y'en a t-il d'autres ?

D'avance merci

Bon dév à tous



[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | sujet précédent | sujet suivant | envoyer par email ]

Options d'affichage des commentaires
Sélectionnez la méthode d'affichage des commentaires que vous préférez, puis cliquez sur "Sauvegarder" pour activer vos changements.

Sujet: 
Il y a d'autres conventions
Auteur: 
Matthieu L
Date: 
Jeu, 10/04/2008 - 22:40

Il y a d'autres conventions à appliquer :

  • Les noms des tables doivent être au pluriel... donc si tu as une classe "livre", la table s'appellera "livres".
  • Le nom du champ qui comporte la clé primaire de la table doit s'appeler "id" et contiennir des entiers
  • Si tu fais un lien vers une autre table, tu le fera en rajoutant le suffixe _id au nom au singulier de la table lié pour nommer le champs. En clair, dans la table "livres", tu feras un champ "editeur_id" pour indiquer à quel éditeur (table "editeurs") un livre appartient.
  • Pour les liaisons multiples, tu créeras une table composée des noms de 2 tables (au pluriel et dans l'ordre alphabétique) que tu souhaites relier... mais sans créer de clé primaire id. Ex : auteurs_livres. Cette table comprendra 2 champs : auteur_id et livre_id.

Sache que toutes ces conventions peuvent être contournées par la suite dans le code de ton appli rails... mais ça te coûteras quelques lignes de code dans la définition de ta classe et la perte de quelques repères... car on s'habitue très vite à ces conventions pleines de bon sens.


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
Nickel !
Auteur: 
Red
Date: 
Lun, 14/04/2008 - 16:02

Nickel !

Effectivement, je me suis documenté de mon côté depuis ce post et ta réponse est parfaite !

Il me reste juste une interrogation :

  • Si j'ai une table dont le nom est composé de deux noms, par ex: "types_oeuvres" (pour reprendre ton exemple ) ou je stocke les infos style "BD / Encyclopédie / Roman" etc ... ai-je le droit d'utiliser le underscore "_" ou même une majuscule afin de séparer ces deux noms ?

    Ou existe t-il aussi une convention à respecter ??

  • Un grand merci Matthieu ;)


    [ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Sujet: 
Il faut que tu utilises un
Auteur: 
dam5s
Date: 
Jeu, 17/04/2008 - 11:19

Il faut que tu utilises un underscore pour séparer les noms de tables. Et il faut que les deux tables soient ds l'ordre alphabétique. Enfin c'est la convention pour une relation "has_and_belongs_to_many".

Dans ton cas ce sera: "oeuvres_types"
Et elle devrait contenir un champ "oueuvre_id" et un champ "type_id", pas d'autre champ (meme id).

Ou alors tu serais oblige d'utiliser une relation de type "has_many :through" qui est beaucoup plus souple et puissante, mais un peu moins simple a utiliser.

--
Damien
http://www.webdrivenblog.com/


[ Vous devez vous connecter ou vous enregistrer pour écrire des commentaires | envoyer par email ]

Nouveaux liens

Sondage
Lorsque je développe avec Ruby on Rails c'est principalement sous:
Linux
37%
Mac OS X
29%
Windows
32%
(Free|Open|Net) BSD
1%
Autre...
1%
Nombre de votes: 356

Qui est en ligne
Il y a actuellement 1 utilisateur et 91 invités en ligne.

railsfrance.org - communauté francophone des utilisateurs de Ruby on Rails
[ Hébergement et ressources techniques gracieusement fournis par la SSLL Nuxos Group ]