How do I sanitize a time stamp for use in a conditional index in a rails migration? -


i have rails migration need create conditional index. condition includes timestamp so:

class indexcreatedatonnotes < activerecord::migration   def change     add_index :notes, :created_at, where: "state = 'active' , created_at >= #{200.days.ago}"   end end 

however not put timestamp straight string query in rails, instead do: note.where("created_at >= ?", 200.days.ago) things escaped right way timezones , everything. how do in migration?

when use #{value} value called to_s on converted string thing miss here surround date single quotes , to_s called on date don't want to_s want calling .to_formatted_s(:db):

add_index :notes, :created_at, where: "state = 'active' , created_at >= '#{200.days.ago.to_formatted_s(:db)}'" 

Comments

Popular posts from this blog

php - Invalid Cofiguration - yii\base\InvalidConfigException - Yii2 -

How to show in django cms breadcrumbs full path? -

ruby on rails - npm error: tunneling socket could not be established, cause=connect ETIMEDOUT -