2009-06-15 8 views

Répondre

2

Essayez d'utiliser ruby script/console dans votre répertoire rails d'application. A partir de là, vous pouvez faire des choses comme:

u = User.find(:first) 
u.password = 'something_else' 
u.save 

ou

users = User.find(:all) 
users.each { |u| u.password = 'something'; u.save } 

qui mettra à jour les mots de passe de tous les utilisateurs.

+1

Vous pouvez également créer de nouveaux objets à la User.create (: name => "Foo",: active => true). – runako

0

Vous pouvez simplement utiliser l'interface mysql directe, mais j'utiliserais script/console pour passer en revue vos classes de modèle sauf si vous avez vraiment besoin d'un accès DB direct.

3

Deux façons:

  • run script/console et manipuler votre modèle de Rails objets directement à partir de la ligne de commande

  • run script/dbconsole qui vous déposera dans la ligne de commande pour votre SGBDR (en supposant que votre database.yml fichier est configuré pour accéder à votre base de données correctement). Ensuite, utilisez SQL pour faire ce que vous devez faire

(Railscast on Console Tricks)

+0

J'ai utilisé script/console pour interroger la base de données dans le passé, mais j'ai rencontré l'exception "méthode non définie" lors de la tentative d'enregistrement des objets. Est-ce probablement une erreur syntaxique ou quelque chose de plus fondamental? C'est ce que j'ai essayé: prompt> Object.save ("name" => "john", "mot de passe" => "foo" ... ETC) – happythenewsad

+0

Vous voulez Object.create ("name" => "john", "mot de passe" => "foo") –

+0

Vous devriez faire o = Object.create (: nom => "john",: password => "foo"), suivi de o.save –

Questions connexes