17
17
def purge_by_orphaned ( klass , fk , window , purge_mode )
18
18
klass . include PurgingMixin
19
19
klass . define_method ( :purge_method ) { :destroy }
20
- klass . purge_by_orphaned ( fk , window , purge_mode ) . tap { | total | puts " #{ purge_mode == :count ? 'Would purge' : 'Purged' } : #{ klass } : #{ total } rows" }
20
+ klass . purge_by_orphaned ( fk , window , purge_mode )
21
21
end
22
22
23
23
CLASSES_TO_PURGE = [
@@ -32,13 +32,24 @@ def purge_by_orphaned(klass, fk, window, purge_mode)
32
32
SecurityContext , :resource , 1000
33
33
]
34
34
35
+ puts "\n Note: Count mode was provided. No changes are being made. Use --mode purge to purge the rows.\n " if purge_mode == :count
36
+ puts
37
+ results = [ [ "Class" , purge_mode == :count ? "Orphan Count" : "Purged Rows" ] ]
35
38
_result , bm = Benchmark . realtime_block ( "TotalTime" ) do
39
+
36
40
CLASSES_TO_PURGE . each_slice ( 3 ) do |klass , fk , window |
37
41
Benchmark . realtime_block ( klass . name ) do
38
- purge_by_orphaned ( klass , fk , window , purge_mode )
42
+ print "Purging #{ klass . name } ..."
43
+ purge_by_orphaned ( klass , fk , window , purge_mode ) . tap { |result | results << [ klass , result ] }
44
+ puts "Done!"
39
45
end
40
46
end
41
47
nil
42
48
end
43
- puts "Timing by model:"
44
- pp bm
49
+ puts "\n Results:\n \n "
50
+
51
+ puts results . tableize
52
+ puts
53
+
54
+ puts "Timing by class:\n \n "
55
+ puts bm . transform_values { |v | v . round ( 6 ) } . to_a . unshift ( [ "Model" , "Time (s)" ] ) . tableize
0 commit comments