Une base SQL vers RoR


#1

Bonjour,

Je suis débutant à RoR et je souhaite créer un site fonctionnant avec
une base de données.

Si j’ai bien compris, lorsque l’on crée un site avec une base de
données, il faut enregistrer sa structure dans Active Record.

En sachant que ma base comporte plein de tables mises en relation via
des conventions de Rails, et qu’elle est enregistrée dans un fichier
dump.sql, quel méthode peut-on utiliser pour que sa structure soit
enregistrée dans Active Record ?

Enfin, si jamais je viens à modifier la structure de ma base MySQL,
comment pourrais-je procéder pour que sa structure dans Active Record
soit mise à jour elle aussi.

Merci à vous :slight_smile:


#2

Up.

Je suis conscient que cette question est très simple. Peut-être même
trop simple pour vous. Mais c’est une vraie question dont la réponse
pourrait m’aider à avancer. Alors surtout n’hésitez pas.

Merci à vous.


#3

On 3/31/07, z4n9ief removed_email_address@domain.invalid wrote:

dump.sql, quel méthode peut-on utiliser pour que sa structure soit
enregistrée dans Active Record ?

Enfin, si jamais je viens à modifier la structure de ma base MySQL,
comment pourrais-je procéder pour que sa structure dans Active Record
soit mise à jour elle aussi.

Pour la modification de ta BDD :

http://api.rubyonrails.org/classes/ActiveRecord/Migration.html

Très pratique


#4

Bonjour,

on dirait que tu n’as pas tout compris à ActiveRecord :wink:

ActiveRecord est une class Ruby donnant accès à tout un tas de méthodes
d’abstraction pour que tu n’ais plus à taper une ligne de SQL (je
schématise
bien entendu).

Par exemple, si tu crées un objet Post héritant de ActiveRecord, et s’il
existe une table posts dans ta base de données qui respectent les
conventions Rails, alors tu disposeras de ces méthodes d’abstraction.
C’est
aussi simple que ça.

Exemple :
fichier app/model/post.rb :
class Post < ActiveRecord::Base
end

dans ta base de données :
CREATE TABLE posts(
id int(11) NOT NULL auto_increment,
title varchar(255),
PRIMARY KEY (id)
);

tada :
Post.create(:title => “Le titre de mon premier post”)
premier_post = Post.find(:first)
premier_post.title = “Le titre de mon premier post”

Pour bien comprendre ce concept, je te conseil de partir “from scratch”.
Un
petit tutorial de débutant quoi.

Ensuite tu pourras revenir à ton dump.sql qui comporte tout un tas de
table
(si j’ai bien compris). Il te suffira de créer les objets ActiveRecord
qui
vont bien.

J’espère que c’est assez clair.

Franck