Sha256: 84f1fd68b3168dcca7e110b72b6e9422761a8bbd71c9c0adcda7909286cc7f6c
Contents?: true
Size: 730 Bytes
Versions: 15
Compression:
Stored size: 730 Bytes
Contents
class TrashArchivedBooleans < ActiveRecord::Migration[4.2] def self.up Rails.application.eager_load! klasses = ActiveRecord::Base.descendants .reject { |klass| klass.abstract_class? } .select { |klass| (klass.new.respond_to?(:archived?) rescue false) } klasses.each do |klass| puts "Trashing #{klass.table_name}" ids = [] # to delete klass.unscoped.where(archived: true).find_each do |resource| print '.' EffectiveTrash.trash!(resource) ids << resource.id end klass.where(id: ids).delete_all end klasses.each { |klass| remove_column(klass.table_name, :archived) } end def self.down raise 'TODO: this could be written' end end
Version data entries
15 entries across 15 versions & 1 rubygems