J'essaye de configurer des données de graine pour mon application de Rails et compte sur le id
de chaque modèle étant une certaine valeur. Comment puis-je dire à la table, après MyModel.destroy_all
de commencer à compter à partir de 0 à la place de là où il s'était arrêté?Forcez la table pour recommencer l'incrément d'ID à 0 dans ActiveRecord?
1
A
Répondre
1
Le meilleur moyen est probablement de supprimer toute la table, de la recréer et de l'ensemencer. Vous pouvez le faire avec des tâches de rake personnalisées.
Essayez quelque chose comme ça à laisser tomber votre table:
desc "Drop MyModel table"
task :drop_my_model => :environment do
connection = ActiveRecord::Base.connection
connection.execute("drop table my_models")
end
end
alors vous pouvez ratisser
$ rake drop_my_model
$ rake db:migrate:up VERSION=my_version
Questions connexes
- 1. Programmation forcez l'écran pour allumer dans blackberry
- 2. Sélectionnez @@ Identité renvoyant 0 pour la table liée dans Access
- 3. Forcez la liste déroulante AutoCompleteExtender pour la réafficher via Javascript
- 4. ActiveRecord Joindre la table pour la base de données existante
- 5. Héritage de table ActiveRecord à l'aide de set_table_names
- 6. net-snmp: forcez la table pour avoir xxEntry valeur de 2 au lieu de 1
- 7. ActiveRecord: pour définir les valeurs par défaut via la table
- 8. Rails (ActiveRecord) plusieurs à plusieurs table
- 9. Alias de table ActiveRecord
- 10. ActiveRecord :: Base sans table
- 11. Afficher les objets ActiveRecord comme la table à ./script/console
- 12. Pour ... La table de multiplication de boucle suivante commence 0
- 13. Base de données Modification ou recommencer?
- 14. Comment arrêter ActiveRecord à la recherche d'une table?
- 15. activerecord create_table comme table existante
- 16. Forcez la subversion à ne pas fusionner des fichiers spécifiques
- 17. Forcez les espaces dans C Macro?
- 18. Comment puis-je demander à Mercurial de recommencer à commuter?
- 19. Relations ActiveRecord pour une table de jointure reliant deux enregistrements de la même table?
- 20. Imprimer ascii table 0-127
- 21. SQL * Plus: Forcez-le à retourner un code d'erreur
- 22. Forcez le widget Android à mettre à jour
- 23. AS3 - comment recommencer un film flash
- 24. Forcez NHibernate à publier une mise à jour
- 25. Problèmes d'utilisation modèle ActiveRecord sur la table existante
- 26. Aide à la requête ActiveRecord
- 27. Comment la table Activerecord de Rails peut-elle se référer?
- 28. Castle ActiveRecord Conflit de nom de table
- 29. ActiveRecord trouver des index de table existants
- 30. Château ActiveRecord classe Héritage de Table
Je viens de réaliser à travers ce http://stackoverflow.com/q/1316889/328998 que rake db: migrate: redo VERSION = ma_version pourrait faire l'affaire – Yannis