Question

Je teste mon application sur Heroku (qui est f *** ing incroyable!) Et je réalisé que je n'ai aucun moyen de créer mon utilisateur root.

J'utilise Authlogic et rails_authorization_plugin.

est-il que je peux ajouter une section someway à un de mes fichiers de migration pour ajouter cet utilisateur et lui attribuer le rôle de root? Ou puis-je faire à travers une tâche Rake?

Toute idée serait appréciée!

Était-ce utile?

La solution

Vous pouvez certainement le faire si une migration, et je l'ai vu que comme un moyen recommandé d'ajouter des données de semences nécessaires à la base de données d'une application. Sont rubis juste migration code, il est donc assez simple. Vous pouvez utiliser tous les trucs ActiveRecord que vous êtes habitué et faire quelque chose comme:

class AddRootUser < ActiveRecord::Migration
  def self.up
    user = User.create!( :email => '...', :login => 'root', :password => '...' )
  end

  def self.down
    user = User.find_by_login( 'root' )
    user.destroy
  end
end

Je l'ai laissé de côté des choses que vous auriez probablement envie de faire comme sauver un échec pour créer l'utilisateur, etc. De plus, je ne l'ai pas utilisé AuthLogic donc je ne sais pas exactement comment fonctionne son modèle d'utilisateur, mais vous devrait être en mesure de le comprendre à partir d'ici.

Un autre modèle commun est d'avoir la migration complètement claire la table et ont la migration jusqu'à appeler la migration vers le bas avant de lancer. C'est probablement pas ce que vous voulez dans ce cas, cependant.

Autres conseils

Vous pouvez soit créer un groupe de coupe pour amorcer l'utilisateur (et d'autres données de semences). Heroku permet effectivement d'exécuter des tâches de rake: http://docs.heroku.com/rake

Ou, comme un tout, vous pouvez créer l'utilisateur local et télécharger votre base de données à l'aide heroku heroku db:push. Docs ici: http://docs.heroku.com/taps#import-push -à-heroku

En outre, je suggère contre seules les données des migrations. Il y a même une tâche de coupe de données de semences dans le noyau Rails. Voir Railscast et cette post.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top