Używam podstawowego planu bazy danych w Heroku. Działa na Postgres 9.1, który obsługuje locale. Mam problemy z sortowaniem w mojej aplikacji, ponieważ znaki ÅĘÖ nie są traktowane prawidłowo (tak jak powinny w Szwecji).Ustaw lokalizację na Heroku Postgres
Ustawienie to LC_COLLATE
, które obsługuje porządkowanie ciągów znaków. Problem polega na tym, że nie mogę znaleźć żadnego sposobu na ustawienie tego na Heroku. Utworzone bazy danych uzyskują lc_collate=en_US.UTF-8
, ale muszę ustawić ją na sv_SE.UTF-8
.
Nie można zmienić tego ustawienia LC_COLLATE
, gdy baza danych została utworzona, dlatego nie można jej zmienić za pomocą konsoli psql.
Jak mogę to ustawić?
Wow, to naprawdę denerwujące. PostgreSQL obsługuje ustawianie sortowania na bazach danych za pomocą 'CREATE DATABASE ... LC_CTYPE 'blah' LC_COLLATE 'blah''; jest do bani, że Heroku nie ujawnia tego użytkownikom. –
Dziękuję, wygląda na to, że można zmienić sortowanie kolumn. Najpierw jednak musiałem utworzyć zestawienie. Dzięki. – Linus
Dzięki! Wreszcie. Długo się z tym zmagałem. Dla mnie nie działało tylko z "sv-SE.UTF-8", ale "sv-SE". Korzystanie szyny, zrobiłem zadania natarcia zmienić sortowanie z następującego kodu: ---- przestrzeni nazw: setup zrobić zadanie: heroku_collation =>: środowisko zrobić ActiveRecord :: Base.establish_connection ActiveRecord :: Base. connection.execute "ALTER TABLE gminy ALTER COLUMN nazwa TYPE varchar COLLATE" sv_SE "; ' koniec koniec –