Bonjour,
Je suis débutant en Rails et je souhaiterais un peut d’aide.
Je souhaiterais crée une base de donne avec des contrainte de type «
foreign key » (base de donnée en PostgeSql)
Je souhaiterais crée intégralement ma base de donnée avec rails. Via «
migrate » ou autre si ce n’est pas la meilleur methode.
Mais aussi que les contraintes on « delet » et « cascade » soit
fonctionnel
En gros savoir comment intégrer les contraintes et relation a mes
tables et comment gérer tous ca avec ruby Rails.
Donc deux tables : livre et auteur
Les relations :
- un auteur plusieurs livres
- un livre un auteur
Avec une contrainte de type « foreign key » sur les id de ces deux
tables donc.
Mon fichier de création via migrat :
create_table "livres", :force => true do |t|
t.column "nom", :text
t.column "auteur", :integer
end
create_table "auteurs", :force => true do |t|
t.column "nom", :text
t.column "prénom", :text
end
Si vous avez des liens vers des documentations je suis preneur.
1er question :
Est-ce faisable en Rails, ou doit t’on crée à la main tous ou partis…
2eme question
Je voudrais donc savoir si c’est faisable quel serais la méthode pour
faire cela via Rails
3eme question
Rails gère t’il les contrainte ?
Je m’explique en gros deux fontion rails
La 1er delete_auteur : supprimera l’auteur de la bdd mais ne devra
fonctionner que si aucun livres n’est actuellement écrit par cette
auteur dans la bdd …
Comment est ce géré en Rails doit t’on écrire nous même les fonctions
de vérification.
La 2eme force_delete_auteur : supprimera l’auteur de la bdd et donc
devra supprimer tous les livres liée a cette auteur qui existerais
encore. Le cascad delet en sql
Comment est ce gere en Rails doit t’on ecrire nous meme les fonction
et request de supretion.
on 26.03.2008 12:54
on 26.03.2008 14:09
2008/3/26 Shmii <thomaschalmel@gmail.com>: > > 1er question : > Est-ce faisable en Rails, ou doit t'on cre la main tous ou partis... Tout n'est pas compltement rellement faisable, car ca dpend un peu des BDD tout ca. Les contraintes ne sont pas support 100% par toutes les BDD. > > 2eme question > Je voudrais donc savoir si c'est faisable quel serais la mthode pour > faire cela via Rails Tu peux mais avec le plugin : http://www.redhillonrails.org/foreign_key_associations.html > > 3eme question > Rails gre t'il les contrainte ? Pour la gestion des contraintes au niveau BDD, il faut utiliser un plugin ou alors les crire en SQL pur et loader ca par le schema.sql > encore. Le cascad delet en sql > Comment est ce gere en Rails doit t'on ecrire nous meme les fonction > et request de supretion. Ce genre de contrainte peut tout fait tre grer au niveau applicatif par Rails. Voir la doc. -- Cyril Mougel http://blog.shingara.fr