2009-08-08 11 views
6

La meilleure façon de charger les données de départ? J'ai une table Auteur étroitement couplée à une table Utilisateurs. J'ai aussi des migrations pour modifier ces deux tables. Je souhaite ajouter un utilisateur admin par défaut, mais je souhaite m'assurer que les deux tables sont créées et que toutes les migrations ont été exécutées pour ces tables avant l'exécution de ma migration CreateDefaultAdmin (ou autre). Existe-t-il des meilleures pratiques pour cela? Désolé si cela a déjà été demandé.Rails Migrations: Charger les données par défaut

Répondre

11

Vos options:

  1. Utilisez les migrations décrites ici: http://railspikes.com/2008/2/1/loading-seed-data
  2. Utilisez un addon 3ème partie comme: seed-fu ou db-populate
  3. appareils d'utilisation, qui est décrit dans les rails article spike.
  4. Attendre rails 3 et utiliser la nouvelle seeds.rb: http://github.com/rails/rails/commit/4932f7b38f72104819022abca0c952ba6f9888cb

personnellement j'utiliser un yaml-db modifié. J'aime construire toutes mes données de départ dans mon environnement de développement, et le garder sauvegardé dans mon dépôt, quand je vais en direct, je peux le charger avec une tâche de rake.

0

cant que vous venez de créer des migrations séparées et de les exécuter séparement

2

La version la plus récente (bord?) De Rails comprend un fichier db/seeds.rb dans lequel vous pouvez placer le code pour créer des enregistrements dans votre base de données. Jusque-là, les migrations sont la voie à suivre, mais elles peuvent être désordonnées lorsque le schéma ne cesse de changer (ce qui est le point entier des fichiers de migration).

Questions connexes