File tree 2 files changed +10
-2
lines changed
2 files changed +10
-2
lines changed Original file line number Diff line number Diff line change @@ -8,13 +8,13 @@ namespace 'db:sessions' do
8
8
9
9
desc "Clear the sessions table"
10
10
task :clear => [ :environment , 'db:load_config' ] do
11
- ActiveRecord ::Base . connection . execute "TRUNCATE TABLE #{ ActiveRecord :: SessionStore :: Session . table_name } "
11
+ ActiveRecord ::Base . connection . truncate ( ActionDispatch :: Session :: ActiveRecordStore . session_class . table_name )
12
12
end
13
13
14
14
desc "Trim old sessions from the table (default: > 30 days)"
15
15
task :trim => [ :environment , 'db:load_config' ] do
16
16
cutoff_period = ( ENV [ 'SESSION_DAYS_TRIM_THRESHOLD' ] || 30 ) . to_i . days . ago
17
- ActiveRecord :: SessionStore :: Session .
17
+ ActionDispatch :: Session :: ActiveRecordStore . session_class .
18
18
where ( "updated_at < ?" , cutoff_period ) .
19
19
delete_all
20
20
end
Original file line number Diff line number Diff line change @@ -63,6 +63,14 @@ def test_upgrade_task
63
63
assert Session . find_by_session_id ( Rack ::Session ::SessionId . new ( "original_session_id" ) . private_id )
64
64
assert Session . find_by_session_id ( "2::secure_session_id" )
65
65
end
66
+
67
+ def test_clear_task
68
+ Session . create! ( data : "obsolete" )
69
+
70
+ Rake . application . invoke_task 'db:sessions:clear'
71
+
72
+ assert_equal 0 , Session . count
73
+ end
66
74
end
67
75
end
68
76
end
You can’t perform that action at this time.
0 commit comments