Une fonction pour vider les tables associées aux models - rubyonrails 3

Voici une fonction pour vider les tables associées aux models dans une application rubyonrails 3.

Soit en console, soit dans votre code, vous pouvez faire :

ActiveRecord::Base.class_eval do

    def self.detonate

        all.map(&:destroy)

    end

end

Cela a pour effet d' "injecter la fonction dans tous les objets" active record.

Ensuite il suffit d'appeler la fonction de cette manière :

Product.detonate

Ainsi tous les produits sont supprimés de la base de données, pratique pour faire du ménage !

Source : https://snippets.dzone.com/posts/show/11603