J'utilise Rails 3.0.3 et j'ai déjà des données pour ma table "categories" dans la base de données, mais je veux en créer un fichier de départ. Y at-il une tâche de rake qui va générer le format seeds.rb pour moi de cette table?Créer un fichier de départ à partir de données déjà dans la base de données
Répondre
Il y a un petit bijou appelé seed_dump
, qui fera exactement ce que vous voulez:
ne suis pas sûr des tâches de râteau existantes, mais vous pouvez essayer d'exécuter quelque chose comme ça dans la console de rails & coller les résultats dans votre fichier seeds.rb
(avertissement: sale & non testé)
c = Category.all
c.each do |cat|
puts "Category.create(:name => '#{cat.name}')"
end
Ajustez pour les champs supplémentaires que vous pourriez avoir.
Espérons que cela aide.
ne peut pas imaginer comment puis-je oublier ces hacks. merci beaucoup –
J'ai utilisé YamlDb pour vider les données de ma base de développement et les charger sur un autre serveur. Il déverse les données dans un fichier Yaml, qui sera utilisé chaque fois que vous voulez utiliser db: load pour le pousser vers n'importe quel autre serveur db.
question ancienne, une nouvelle base sur @ la réponse de Brian.
Si vous voulez garder toute la ligne comme il est:
seedfile = File.open('db/seeds.rb', 'a')
c = Category.all
c.each do |cat|
seedfile.write "Category.create(#{cat.attributes})\n"
end
seedfile.close
Si vous voulez écrire que certains attributs, changer la ligne d'écriture à ce qui suit:
seedfile.write "Category.create(#{cat.attributes.slice('attr1', 'attr2', ...})\n"
Ou, si vous souhaite tous les attributs sauf certains, par exemple des horodateurs:
seedfile.write "Category.create(#{cat.attributes.except('created_at', 'updated_at')})\n"
- 1. créer un fichier de vidage à partir de la base de données dans mysql
- 2. créer un fichier de vidage à partir de la base de données dans mysql
- 3. Créer IGrouper à partir d'une structure de données déjà groupée
- 4. Création d'une migration de données à partir de données déjà dans une base de données de test
- 5. charger des données dans un fichier texte à partir de vues base de données Oracle
- 6. créer une base de données vide à partir d'une base de données de production par programme
- 7. Comment créer un lien à partir des données extraites de la base de données
- 8. Je souhaite créer une base de données d'accès remplie de données à partir du fichier xml
- 9. Ajout de données dans un champ de base de données MySQL contenant déjà des données
- 10. Accès à la base de données Python en utilisant un fichier unique/déjà construit
- 11. "Déréférencement" de données à partir d'une base de données GridView
- 12. Importer la base de données à partir du fichier PROGRAMMATICALLY?
- 13. Rails: Comment télécharger un fichier à partir d'un http et l'enregistrer dans la base de données
- 14. PHP crée dynamiquement un fichier PDF personnalisé à partir de la base de données mySQL
- 15. Lecture d'images FOP à partir de la base de données
- 16. Écrire un fichier PDF à partir d'un fichier binaire dans la base de données
- 17. Comment créer un choix dynamique de cases à cocher à partir des données de la base de données?
- 18. Comment créer un fichier dmp d'une base de données Oracle?
- 19. Comment créer la base de données avancée
- 20. Comment contrôler la récupération de données à partir de tables dans une base de données
- 21. Restauration de la base de données à partir d'une autre base de données SMO
- 22. Créer une base de données à partir du projet db
- 23. Créer une base de données à partir du modèle de données d'entité ADO
- 24. créer un correctif de données pour la base de données (synchroniser les bases de données)
- 25. Conception de base de données: Stocker des données à partir de formulaires papier dans la base de données
- 26. Comment créer un projet de base de données à partir d'une base de données SQL Server existante?
- 27. Restauration de la base de données Postgresql
- 28. Créer une base de données dans android
- 29. postgresql tissu créer la base de données
- 30. SqlMetal ne parvient pas à créer DBML à partir de la base de données Sqlite
C'est une très bonne part, merci! –
J'ai trouvé la nouvelle maison Github au cas où quelqu'un le cherche - https://github.com/zenprogrammer/seed_dump – rcd
La page RubyGems liens vers https://github.com/rroblak/seed_dump actuellement (8 février 2014). EDIT: Je suppose que le lien zenprogrammer ci-dessus redirige maintenant vers le nouveau. – streetlogics