how to do a Model.order(:name) using a :case_sensitive => false ?

this option is available in validation..
is there any equivalent when doing a query or should it be SQL
dependent ( coded in the model ) ?

thanks for feedback

Kad Kerforn wrote in post #1063333:

this option is available in validation..
is there any equivalent when doing a query or should it be SQL
dependent ( coded in the model ) ?

thanks for feedback

orders = Order.order('lower(name)')
  Order Load (0.5ms) SELECT "orders".* FROM "orders" ORDER BY
lower(name)

Robert Walker wrote in post #1063410:

orders = Order.order('lower(name)')
  Order Load (0.5ms) SELECT "orders".* FROM "orders" ORDER BY
lower(name)

Keep in mind that the above will force the database to perform a
sequential scan of the table even if the column you're ordering by is
indexed. Which means that if you have performance issues you may need to
create a case-insensitive index on the column. I'll leave that as an
exercise for you on how to set that up in whatever database you are
using.

Ok thanks a lot ..
in the meantime , I modified my record design , adding a ds_name
string which is the lower(name) written upon create, so I can order on
it directly...
as it's for 'tag' records, I'll not have billion of records ..
according to your feedback I can create a case-insensitive index on
the column.. even better