Il m'est arrivé d'avoir besoin de hstore (stockage key/value dans postgres)
avec Apartment.
La mise en place n'est pas très compliqué mais il ne faut rien
oublier.
Le readme de Apartment est bien fait : https://github.com/influitive/apartment
Personnellement j'ai créé l'extension manuellement :
sudo -s -u postgres
psql
\c mabasededonnees
CREATE SCHEMA hstore; CREATE EXTENSION HSTORE SCHEMA
hstore;
Ensuite il faut rajouter dans la config d'apartment :
Apartment.configure do |config|
[...]
config.persistent_schemas = ['hstore']
[...]
end
Egalement dans le database.yml :
development:
adapter: postgresql
host: localhost
database: mabasededonnees
username: sylvain
password: sylvain
schema_search_path: "public,hstore"
La difficulté, ici c'est qui si vous faites un rake apartment:migrate ou
rake db:migrate vous allez avoir une erreur :
PG::UndefinedObject: ERROR: type "hstore" does not exist
Parce que l'extension n'a pas pour propriétaire "sylvain". Il faut donc
retourner sur psql pour corriger le tir :
sudo -s -u postgres
psql
\c mabasededonnees
ALTER SCHEMA hstore OWNER TO "sylvain";
Le "rake apartment:migrate" devrait mieux se passer
maintenant.