我把一个ror项目的session保存到了数据库中,要如何做才能删除超过规定时间的session呢
2条回答 默认 最新
- Open2ye 2008-09-20 00:17关注
N 久之前写过一个
[code="ruby"]
namespace :db do
namespace :sessions do
desc "Agide rake db:sessions:timeclear DAY=1 :Clear the sessions table where update before N day"
task :timeclear => :environment do
d = (ENV['DAY']).to_i
session_table = 'session'
session_table = Inflector.pluralize(session_table) if ActiveRecord::Base.pluralize_table_namessql = "DELETE FROM #{session_table} where updated_at <= \'#{d.days.ago.to_s(:db)}\'" puts "Run" puts sql ActiveRecord::Base.connection.execute sql end
end
end[/code]
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报