Estoy en el proceso de cambiar mi entorno de desarrollo de sqlite3 a postgresql 8.4 y tengo un último obstáculo.Cómo hacer un orden insensible a mayúsculas/minúsculas en Rails con postgresql
En mi original tenía la siguiente línea en un método de ayuda;
result = Users.find(:all, :order => "name collate NOCASE")
que proporcionó una muy agradable de búsqueda entre mayúsculas y minúsculas. No puedo replicar esto para postgresql. Debería ser fácil, ¿alguna idea?
Gracias.
Niza, que funcionaba gracias. Me apuntó en la dirección correcta para aprender un poco más sobre esto por mí mismo. Usar UPPER (nombre) también funciona y, de hecho, es lo que ha terminado en mi código, sin ningún motivo en particular. – brad
Una solución más extrema a la que he recurrido es tener una columna extra que rastrea la columna original. Usando activadores en insertar o actualizar, modifique esa columna. He usado esto en el pasado un par de veces, donde quería ordenar los títulos de algo y no quería contar las palabras principales de "a, an, the". También eliminé todos los personajes especiales. Esto resultó en "título", "título", "título", "Título", ordenando uno al lado del otro en lugar de dispersos. También hizo posible editar el campo clasificable para poder hacer que el "título V" venga antes del "título IX". – LanceH
Si necesita esto en 'default_scope', use' default_scope order ('LOWER (name) ASC') '. Me tomó un poco descubrir los detalles. –