ruby - Sequel gem increment -
i trying use ruby sequel gem db operations.
i stuck incrementing , decrementing values.
the doc says should work, though seems strange me able add number , symbol.
2.0.0-p247 :019 > require 'sequel' => true 2.0.0-p247 :020 > s = sequel.connect('sqlite://db.sqlite') => #<sequel::sqlite::database: "sqlite://db.sqlite"> 2.0.0-p247 :021 > s[:query_volume].update_sql(:queries => 3) => "update `query_volume` set `queries` = 3" 2.0.0-p247 :022 > s[:query_volume].update_sql(:queries => :queries + 3) nomethoderror: undefined method `+' :queries:symbol (irb):21 /users/avandra/.rvm/rubies/ruby-2.0.0-p247/bin/irb:16:in `<main>'
but can see gives undefined method on queries symbol. kindof concurs why strange me.
i tried using curly braces, gives error:
2.0.0-p247 :023 > s[:query_volume].update_sql{:queries => :queries + 3} syntaxerror: (irb):23: syntax error, unexpected =>, expecting '}' s[:query_volume].update_sql{:queries => :queries + 3} ^ /users/avandra/.rvm/rubies/ruby-2.0.0-p247/bin/irb:16:in `<main>'
and using
2.0.0-p247 :033 > s[:query_volume].update_sql{queries = queries + 3} => "update `query_volume` set "
just gives badly formatted sql...
could shed light on how can done?
you should use sequel.expr
that:
s[:query_volume].update_sql(:queries => sequel.expr(3) + :queries)
Comments
Post a Comment