Sélection des membres

Bonjour tout le monde.
Je voudrais présenter ici, pour ceux qui pourront avoir des problèmes de sélection des membres soit pour les désigner comme collaborateurs de projets, soit pour les offrir les réservations aux événements ou formation, une solution obtenue avec l’aide de @Sylvain.
En gros, ce problème survient lorsque la fonction f_unaccent n’est pas créée dans postgres. Nous avons deux pistes de solution:

  1. Entrer dans le container fabmanager et exécuter une commande qui pourra recréer cette fonction:
docker exec -it fabmanager_fabmanager_1 bash
# puis une fois dans le container
bundle exec rake db:migrate

Si la solution n’est pas obtenue, il faut passer à la deuxième solution qui consiste à entrer dans le container postgres et exécuter les commandes psql.

  1. Entrer dans le container postgres et exécuter les commandes psql
docker exec -it fabmanager_postgres_1 bash
psql -U postgres

Afficher les bases de données et entrer dans la base de données de production

\l
\c fablab_production

Exécuter les commandes de nettoyage et de recréation des relations et fonction

DROP INDEX profiles_lower_unaccent_first_name_trgm_idx;
DROP INDEX profiles_lower_unaccent_last_name_trgm_idx;
DROP FUNCTION f_unaccent(text);
DROP EXTENSION pg_trgm;
DROP EXTENSION unaccent;
CREATE EXTENSION IF NOT EXISTS unaccent;
CREATE EXTENSION IF NOT EXISTS pg_trgm;
CREATE OR REPLACE FUNCTION f_unaccent(text)
  RETURNS text AS
  $func$
  SELECT public.unaccent('public.unaccent', $1)
  $func$  LANGUAGE sql IMMUTABLE;
CREATE INDEX profiles_lower_unaccent_first_name_trgm_idx ON profiles
  USING gin (lower(f_unaccent(first_name)) gin_trgm_ops);
CREATE INDEX profiles_lower_unaccent_last_name_trgm_idx ON profiles
  USING gin (lower(f_unaccent(last_name)) gin_trgm_ops);

Il est possible que certaines commandes DROP n’aboutissent pas, selon l’état actuel de la base … mais ça devrait être sans conséquences sur la suite.

Vérifier ensuite sur l’interface de fabmanager pour se rassurer tout est ok. Il est possible de redémarrer fabmanager ou actualiser la fenêtre.

1 « J'aime »