-
Notifications
You must be signed in to change notification settings - Fork 0
Case and accent insensitive search for postgresql
License
fmluizao/insensitivity
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Insensitivity
==========
Insensitivity is a rails plugin that helps to do case and accent insensitive searches in PostgreSQL
It change the WHERE conditions to translate the field removing accents and applying lowercase
NOTE: I'm abandonning the *_search fields approach and making the plugin PostgreSQL specific.
If you want to use the old aproach, it is tagged as 0.0.1
Example
=======
Migration:
create_table :foos do |t|
t.string :field1
t.string :field2
end
Model:
class Foo < ActiveRecord::Base
insensible :field1, :field2
end
Foo.find_by_field1('bla')
SELECT * FROM foos
WHERE TRANSLATE(LOWER(widgets.field1),
'âãäåāăąèééêëēĕėęěìíîïìĩīĭóôõöōŏőùúûüũūŭůç',
'aaaaaaaeeeeeeeeeeiiiiiiiiooooooouuuuuuuuc') = 'bla'
Foo.find(:first, :conditions => ['field1 = ?', 'bla'], :order => 'field1')
SELECT * FROM foos
WHERE TRANSLATE(LOWER(widgets.field1),
'âãäåāăąèééêëēĕėęěìíîïìĩīĭóôõöōŏőùúûüũūŭůç',
'aaaaaaaeeeeeeeeeeiiiiiiiiooooooouuuuuuuuc') = 'bla'
ORDER BY field1 LIMIT 1
Copyright (c) 2009 Fernando Luizao, released under the MIT license
About
Case and accent insensitive search for postgresql
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published