Projet

Général

Profil

Actions

Anomalie #1932

fermé

Erreur suite à la mise à jour de Galette 0.8.3 vers 1.1.5.2

Ajouté par Gauthier C. il y a environ 23 heures. Mis à jour il y a environ 8 heures.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Version cible:
-
Début:
20/04/2025
Echéance:
% réalisé:

0%

Temps estimé:
Version utilisée:

Description

Bonjour,

Je suis en train d'essayer de mettre à jour galette depuis un backup des fichiers et de la base postgres d'une version 0.8.3 vers galette 1.1.5.2 sur debian 12.
J'ai réussi à dérouler la mise à jour, mais lorsque je charge la page d'index l'erreur suivante s'affiche dans le navigateur:
Erreur de Galette
Erreur de l’application

Ci-dessous les messages d'erreur que je trouve dans les logs du serveur apache :

[Sun Apr 20 13:03:21.658234 2025] [php:notice] [pid 34651:tid 34651] [client 10.0.3.1:43392] Slim Application Error
Type: DI\\DependencyException
Code: 0
Message: Error while injecting in Galette\\Controllers\\GaletteController::fields_config. Statement could not be executed (22P02 - 7 - ERROR:  invalid input syntax for type boolean: "4" 
CONTEXTE : unnamed portal parameter $4 = '...')
File: /var/www/galette/galette-1.1.5.2/galette/vendor/php-di/php-di/src/Definition/Resolver/ObjectCreator.php
Line: 185
Trace: #0 /var/www/galette/galette-1.1.5.2/galette/vendor/php-di/php-di/src/Definition/Resolver/ObjectCreator.php(153): DI\\Definition\\Resolver\\ObjectCreator->injectProperty()
#1 /var/www/galette/galette-1.1.5.2/galette/vendor/php-di/php-di/src/Definition/Resolver/ObjectCreator.php(131): DI\\Definition\\Resolver\\ObjectCreator->injectMethodsAndProperties()
#2 /var/www/galette/galette-1.1.5.2/galette/vendor/php-di/php-di/src/Definition/Resolver/ObjectCreator.php(56): DI\\Definition\\Resolver\\ObjectCreator->createInstance()
#3 /var/www/galette/galette-1.1.5.2/galette/vendor/php-di/php-di/src/Definition/Resolver/ResolverDispatcher.php(60): DI\\Definition\\Resolver\\ObjectCreator->resolve()
#4 /var/www/galette/galette-1.1.5.2/galette/vendor/php-di/php-di/src/Container.php(354): DI\\Definition\\Resolver\\ResolverDispatcher->resolve()
#5 /var/www/galette/galette-1.1.5.2/galette/vendor/php-di/php-di/src/Container.php(136): DI\\Container->resolveDefinition()
#6 /var/www/galette/galette-1.1.5.2/galette/vendor/php-di/invoker/src/CallableResolver.php(84): DI\\Container->get()
#7 /var/www/galette/galette-1.1.5.2/galette/vendor/php-di/invoker/src/CallableResolver.php(38): Invoker\\CallableResolver->resolveFromContainer()
#8 /var/www/galette/galette-1.1.5.2/galette/vendor/php-di/slim-bridge/src/CallableResolver.php(75): Invoker\\CallableResolver->resolve()
#9 /var/www/galette/galette-1.1.5.2/galette/vendor/php-di/slim-bridge/src/CallableResolver.php(36): DI\\Bridge\\Slim\\CallableResolver->resolvePossibleSignature()
#10 /var/www/galette/galette-1.1.5.2/galette/vendor/slim/slim/Slim/Routing/Route.php(345): DI\\Bridge\\Slim\\CallableResolver->resolveRoute()
#11 /var/www/galette/galette-1.1.5.2/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(73): Slim\\Routing\\Route->handle()
#12 /var/www/galette/galette-1.1.5.2/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(73): Slim\\MiddlewareDispatcher->handle()
#13 /var/www/galette/galette-1.1.5.2/galette/vendor/slim/slim/Slim/Routing/Route.php(321): Slim\\MiddlewareDispatcher->handle()
#14 /var/www/galette/galette-1.1.5.2/galette/vendor/slim/slim/Slim/Routing/RouteRunner.php(74): Slim\\Routing\\Route->run()
#15 /var/www/galette/galette-1.1.5.2/galette/vendor/akrabat/rka-slim-session-middleware/RKA/SessionMiddleware.php(66): Slim\\Routing\\RouteRunner->handle()
#16 /var/www/galette/galette-1.1.5.2/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(129): RKA\\SessionMiddleware->process()
#17 /var/www/galette/galette-1.1.5.2/galette/vendor/slim/csrf/src/Guard.php(482): Psr\\Http\\Server\\RequestHandlerInterface@anonymous->handle()
#18 /var/www/galette/galette-1.1.5.2/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(129): Slim\\Csrf\\Guard->process()
#19 /var/www/galette/galette-1.1.5.2/galette/lib/Galette/Middleware/Language.php(68): Psr\\Http\\Server\\RequestHandlerInterface@anonymous->handle()
#20 /var/www/galette/galette-1.1.5.2/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(177): Galette\\Middleware\\Language->__invoke()
#21 /var/www/galette/galette-1.1.5.2/galette/lib/Galette/Middleware/Telemetry.php(69): Psr\\Http\\Server\\RequestHandlerInterface@anonymous->handle()
#22 /var/www/galette/galette-1.1.5.2/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(177): Galette\\Middleware\\Telemetry->__invoke()
#23 /var/www/galette/galette-1.1.5.2/galette/includes/main.inc.php(177): Psr\\Http\\Server\\RequestHandlerInterface@anonymous->handle()
#24 /var/www/galette/galette-1.1.5.2/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(280): Closure->{closure}()
#25 /var/www/galette/galette-1.1.5.2/galette/vendor/slim/slim/Slim/Middleware/RoutingMiddleware.php(45): Psr\\Http\\Server\\RequestHandlerInterface@anonymous->handle()
#26 /var/www/galette/galette-1.1.5.2/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(129): Slim\\Middleware\\RoutingMiddleware->process()
#27 /var/www/galette/galette-1.1.5.2/galette/vendor/slim/slim/Slim/Middleware/ErrorMiddleware.php(77): Psr\\Http\\Server\\RequestHandlerInterface@anonymous->handle()
#28 /var/www/galette/galette-1.1.5.2/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(129): Slim\\Middleware\\ErrorMiddleware->process()
#29 /var/www/galette/galette-1.1.5.2/galette/vendor/slim/twig-view/src/TwigMiddleware.php(117): Psr\\Http\\Server\\RequestHandlerInterface@anonymous->handle()
#30 /var/www/galette/galette-1.1.5.2/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(129): Slim\\Views\\TwigMiddleware->process()
#31 /var/www/galette/galette-1.1.5.2/galette/vendor/slim/slim/Slim/MiddlewareDispatcher.php(73): Psr\\Http\\Server\\RequestHandlerInterface@anonymous->handle()
#32 /var/www/galette/galette-1.1.5.2/galette/vendor/slim/slim/Slim/App.php(209): Slim\\MiddlewareDispatcher->handle()
#33 /var/www/galette/galette-1.1.5.2/galette/vendor/slim/slim/Slim/App.php(193): Slim\\App->handle()
#34 /var/www/galette/galette-1.1.5.2/galette/includes/main.inc.php(209): Slim\\App->run()
#35 /var/www/galette/galette-1.1.5.2/galette/webroot/index.php(50): require_once('...')
#36 {main}
Previous Error:
Type: Laminas\\Db\\Adapter\\Exception\\InvalidQueryException
Code: 0
Message: Statement could not be executed (22P02 - 7 - ERROR:  invalid input syntax for type boolean: "4" 
CONTEXTE : unnamed portal parameter $4 = '...')
File: /var/www/galette/galette-1.1.5.2/galette/vendor/laminas/laminas-db/src/Adapter/Driver/Pdo/Statement.php
Line: 223
Trace: #0 /var/www/galette/galette-1.1.5.2/galette/lib/Galette/Entity/FieldsConfig.php(925): Laminas\\Db\\Adapter\\Driver\\Pdo\\Statement->execute()
#1 /var/www/galette/galette-1.1.5.2/galette/lib/Galette/Entity/FieldsConfig.php(368): Galette\\Entity\\FieldsConfig->insert()
#2 /var/www/galette/galette-1.1.5.2/galette/lib/Galette/Entity/FieldsConfig.php(153): Galette\\Entity\\FieldsConfig->checkUpdate()
#3 /var/www/galette/galette-1.1.5.2/galette/includes/dependencies.php(340): Galette\\Entity\\FieldsConfig->__construct()
#4 [internal function]: {closure}()
#5 /var/www/galette/galette-1.1.5.2/galette/vendor/php-di/invoker/src/Invoker.php(74): call_user_func_array()
#6 /var/www/galette/galette-1.1.5.2/galette/vendor/php-di/php-di/src/Definition/Resolver/FactoryResolver.php(69): Invoker\\Invoker->call()
#7 /var/www/galette/galette-1.1.5.2/galette/vendor/php-di/php-di/src/Definition/Resolver/ResolverDispatcher.php(60): DI\\Definition\\Resolver\\FactoryResolver->resolve()
#8 /var/www/galette/galette-1.1.5.2/galette/vendor/php-di/php-di/src/Container.php(354): DI\\Definition\\Resolver\\ResolverDispatcher->resolve()
#9 /var/www/galette/galette-1.1.5.2/galette/vendor/php-di/php-di/src/Container.php(136): DI\\Container->resolveDefinition()
#10 /var/www/galette/galette-1.1.5.2/galette/vendor/php-di/php-di/src/Definition/Reference.php(44): DI\\Container->get()
#11 /var/www/galette/galette-1.1.5.2/galette/vendor/php-di/php-di/src/Definition/Resolver/ResolverDispatcher.php(55): DI\\Definition\\Reference->resolve()
#12 /var/www/galette/galette-1.1.5.2/galette/vendor/php-di/php-di/src/Definition/Resolver/ObjectCreator.php(181): DI\\Definition\\Resolver\\ResolverDispatcher->resolve()

Merci pour votre aide.

Mis à jour par Johan Cwiklinski il y a environ 19 heures

  • Statut changé de Nouveau à Commentaire

Je pense que la tbale en question contient des valeurs incorrectes (aucune idée pourquoi). Le moyen le plus simple de tester, c'est di vider entièrement la table galette_fields_config. Elle sera automatiquement remplie avec les valeurs par défaut (qui elles sont bonnes).

Mis à jour par Gauthier C. il y a environ 8 heures

Merci pour la réponse rapide.
J'ai commencé par faire un truncate de la table qui n'a pas corrigé le problème.
En regardant la structure de la table galette_fields_config , je me suis aperçu qu'elle n'avait pas correctement été mise à jour:

galette=# \d galette_fields_config
                       Table "public.galette_fields_config" 
      Column       |         Type          | Collation | Nullable |    Default
-------------------+-----------------------+-----------+----------+---------------
 table_name        | character varying(30) |           | not null |
 field_id          | character varying(30) |           | not null |
 required          | boolean               |           | not null |
 visible           | boolean               |           | not null |
 position          | integer               |           | not null |
 id_field_category | integer               |           |          |
 list_visible      | boolean               |           | not null | false
 list_position     | integer               |           |          | '-1'::integer
 width_in_forms    | integer               |           | not null | 1
Indexes:
    "galette_fields_config_pkey" PRIMARY KEY, btree (table_name, field_id)
Foreign-key constraints:
    "galette_fields_config_id_field_category_fkey" FOREIGN KEY (id_field_category) REFERENCES galette_fields_categories(id_field_category) ON UPDATE CASCADE ON DELETE RESTRICT

J'ai donc supprimé et recréé la table avec les données présentes dans le fichier ./install/scripts/pgsql.sql

galette=# DROP TABLE IF EXISTS galette_fields_config CASCADE;
CREATE TABLE galette_fields_config (
  table_name character varying(30) NOT NULL,
  field_id character varying(30) NOT NULL,
  required boolean NOT NULL,
  visible integer NOT NULL,
  position integer NOT NULL,
  list_visible boolean NOT NULL,
  list_position integer NOT NULL,
  width_in_forms integer DEFAULT '1' NOT NULL,
  id_field_category integer REFERENCES galette_fields_categories ON DELETE RESTRICT ON UPDATE CASCADE,
  PRIMARY KEY (table_name, field_id)
);

Tout semble fonctionner correctement. Je continue mes tests.
Encore merci.

Mis à jour par Johan Cwiklinski il y a environ 8 heures · Edité

  • Statut changé de Commentaire à Fermé

Gauthier C. a écrit (#note-2):

...
En regardant la structure de la table galette_fields_config , je me suis aperçu qu'elle n'avait pas correctement été mise à jour:
[...]

Il y a un fichier de log spécifique à l'installation/mise à jour, cela vaudrait peut-^tere le coup de regarder voir ce qui s'est passé ; et surtout s'il n'y a pas d'autres soucis.

Le problème étant visiblement résolu, je clos la demande :)

Actions

Formats disponibles : Atom PDF