Bonjour,
J'ai fait une mise à jour ce week-end de v1.1.6.2 vers 1.2.0.1. Depuis, je
n'arrive plus à ajouter de nouveaux membres. Il s'agit d'une très vielle
installation de galette qui a subit au fil des ans de nombreuses mises à jour.
Je ne suis pas confiant à 100 % de l'état de la base de donnée...
Voici le message d'erreur :
10.113.20.4 - 2025-12-08 20:25:13 - ERROR - Slim Application Error
Type: PDOException
Code: 23000
Message: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`cadvoile367`.`gal_adherents`, CONSTRAINT `gal_adherents_ibfk_1` FOREIGN KEY (`id_statut`) REFERENCES `gal_statuts` (`id_statut`) ON DELETE RESTRICT ON UPDATE CASCADE)
File: /home/cadvoile/www/membres/vendor/laminas/laminas-db/src/Adapter/Driver/Pdo/Connection.php
Line: 376
Trace: #0 /home/cadvoile/www/membres/vendor/laminas/laminas-db/src/Adapter/Driver/Pdo/Connection.php(376): PDO->query('INSERT INTO `ga...')
#1 /home/cadvoile/www/membres/vendor/laminas/laminas-db/src/Adapter/Adapter.php(196): Laminas\Db\Adapter\Driver\Pdo\Connection->execute('INSERT INTO `ga...')
#2 /home/cadvoile/www/membres/lib/Galette/Core/Db.php(805): Laminas\Db\Adapter\Adapter->query('INSERT INTO `ga...', 'execute')
#3 /home/cadvoile/www/membres/lib/Galette/Entity/Adherent.php(1734): Galette\Core\Db->execute(Object(Laminas\Db\Sql\Insert))
#4 /home/cadvoile/www/membres/lib/Galette/Controllers/Crud/MembersController.php(1798): Galette\Entity\Adherent->store()
#5 /home/cadvoile/www/membres/lib/Galette/Controllers/Crud/MembersController.php(185): Galette\Controllers\Crud\MembersController->store(Object(Slim\Psr7\Request), Object(Slim\Psr7\Response))
#6 [internal function]: Galette\Controllers\Crud\MembersController->doAdd(Object(Slim\Psr7\Request), Object(Slim\Psr7\Response))
#7 /home/cadvoile/www/membres/vendor/php-di/invoker/src/Invoker.php(74): call_user_func_array(Array, Array)
#8 /home/cadvoile/www/membres/vendor/php-di/slim-bridge/src/ControllerInvoker.php(45): Invoker\Invoker->call(Array, Array)
#9 /home/cadvoile/www/membres/vendor/slim/slim/Slim/Routing/Route.php(362): DI\Bridge\Slim\ControllerInvoker->__invoke(Array, Object(Slim\Psr7\Request), Object(Slim\Psr7\Response), Array)
#10 /home/cadvoile/www/membres/vendor/slim/slim/Slim/MiddlewareDispatcher.php(73): Slim\Routing\Route->handle(Object(Slim\Psr7\Request))
#11 /home/cadvoile/www/membres/vendor/slim/slim/Slim/MiddlewareDispatcher.php(73): Slim\MiddlewareDispatcher->handle(Object(Slim\Psr7\Request))
#12 /home/cadvoile/www/membres/vendor/slim/slim/Slim/Routing/Route.php(321): Slim\MiddlewareDispatcher->handle(Object(Slim\Psr7\Request))
#13 /home/cadvoile/www/membres/vendor/slim/slim/Slim/Routing/RouteRunner.php(74): Slim\Routing\Route->run(Object(Slim\Psr7\Request))
#14 /home/cadvoile/www/membres/vendor/akrabat/rka-slim-session-middleware/RKA/SessionMiddleware.php(66): Slim\Routing\RouteRunner->handle(Object(Slim\Psr7\Request))
#15 /home/cadvoile/www/membres/vendor/slim/slim/Slim/MiddlewareDispatcher.php(129): RKA\SessionMiddleware->process(Object(Slim\Psr7\Request), Object(Slim\Routing\RouteRunner))
#16 /home/cadvoile/www/membres/vendor/slim/csrf/src/Guard.php(482): Psr\Http\Server\RequestHandlerInterface@anonymous->handle(Object(Slim\Psr7\Request))
#17 /home/cadvoile/www/membres/vendor/slim/slim/Slim/MiddlewareDispatcher.php(129): Slim\Csrf\Guard->process(Object(Slim\Psr7\Request), Object(Psr\Http\Server\RequestHandlerInterface@anonymous))
#18 /home/cadvoile/www/membres/lib/Galette/Middleware/Language.php(68): Psr\Http\Server\RequestHandlerInterface@anonymous->handle(Object(Slim\Psr7\Request))
#19 /home/cadvoile/www/membres/vendor/slim/slim/Slim/MiddlewareDispatcher.php(178): Galette\Middleware\Language->__invoke(Object(Slim\Psr7\Request), Object(Psr\Http\Server\RequestHandlerInterface@anonymous))
#20 /home/cadvoile/www/membres/lib/Galette/Middleware/Telemetry.php(69): Psr\Http\Server\RequestHandlerInterface@anonymous->handle(Object(Slim\Psr7\Request))
#21 /home/cadvoile/www/membres/vendor/slim/slim/Slim/MiddlewareDispatcher.php(178): Galette\Middleware\Telemetry->__invoke(Object(Slim\Psr7\Request), Object(Psr\Http\Server\RequestHandlerInterface@anonymous))
#22 /home/cadvoile/www/membres/includes/main.inc.php(176): Psr\Http\Server\RequestHandlerInterface@anonymous->handle(Object(Slim\Psr7\Request))
#23 /home/cadvoile/www/membres/vendor/slim/slim/Slim/MiddlewareDispatcher.php(283): Closure->{closure}(Object(Slim\Psr7\Request), Object(Psr\Http\Server\RequestHandlerInterface@anonymous))
#24 /home/cadvoile/www/membres/vendor/slim/slim/Slim/Middleware/RoutingMiddleware.php(45): Psr\Http\Server\RequestHandlerInterface@anonymous->handle(Object(Slim\Psr7\Request))
#25 /home/cadvoile/www/membres/vendor/slim/slim/Slim/MiddlewareDispatcher.php(129): Slim\Middleware\RoutingMiddleware->process(Object(Slim\Psr7\Request), Object(Psr\Http\Server\RequestHandlerInterface@anonymous))
#26 /home/cadvoile/www/membres/vendor/slim/slim/Slim/Middleware/ErrorMiddleware.php(77): Psr\Http\Server\RequestHandlerInterface@anonymous->handle(Object(Slim\Psr7\Request))
#27 /home/cadvoile/www/membres/vendor/slim/slim/Slim/MiddlewareDispatcher.php(129): Slim\Middleware\ErrorMiddleware->process(Object(Slim\Psr7\Request), Object(Psr\Http\Server\RequestHandlerInterface@anonymous))
#28 /home/cadvoile/www/membres/vendor/slim/twig-view/src/TwigMiddleware.php(117): Psr\Http\Server\RequestHandlerInterface@anonymous->handle(Object(Slim\Psr7\Request))
#29 /home/cadvoile/www/membres/vendor/slim/slim/Slim/MiddlewareDispatcher.php(129): Slim\Views\TwigMiddleware->process(Object(Slim\Psr7\Request), Object(Psr\Http\Server\RequestHandlerInterface@anonymous))
#30 /home/cadvoile/www/membres/vendor/slim/slim/Slim/MiddlewareDispatcher.php(73): Psr\Http\Server\RequestHandlerInterface@anonymous->handle(Object(Slim\Psr7\Request))
#31 /home/cadvoile/www/membres/vendor/slim/slim/Slim/App.php(209): Slim\MiddlewareDispatcher->handle(Object(Slim\Psr7\Request))
#32 /home/cadvoile/www/membres/vendor/slim/slim/Slim/App.php(193): Slim\App->handle(Object(Slim\Psr7\Request))
#33 /home/cadvoile/www/membres/includes/main.inc.php(209): Slim\App->run()
#34 /home/cadvoile/www/membres/webroot/index.php(50): require_once('/home/cadvoile/...')
#35 {main}
Voici le dump de la structure de la table gal_adherents:
CREATE TABLE `gal_adherents` (
`id_adh` int UNSIGNED NOT NULL,
`id_statut` int UNSIGNED NOT NULL,
`nom_adh` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',
`prenom_adh` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',
`pseudo_adh` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',
`societe_adh` varchar(200) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
`titre_adh` int UNSIGNED DEFAULT NULL,
`ddn_adh` date DEFAULT NULL,
`sexe_adh` smallint NOT NULL,
`adresse_adh` longtext COLLATE utf8mb4_unicode_520_ci NOT NULL,
`cp_adh` varchar(10) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',
`ville_adh` varchar(200) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',
`pays_adh` varchar(200) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
`tel_adh` varchar(50) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
`gsm_adh` varchar(50) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
`email_adh` varchar(255) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
`info_adh` longtext COLLATE utf8mb4_unicode_520_ci,
`info_public_adh` longtext COLLATE utf8mb4_unicode_520_ci,
`prof_adh` varchar(150) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
`login_adh` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',
`mdp_adh` varchar(255) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT '',
`date_crea_adh` date NOT NULL,
`date_modif_adh` date NOT NULL,
`activite_adh` tinyint(1) NOT NULL DEFAULT '0',
`bool_admin_adh` tinyint(1) NOT NULL DEFAULT '0',
`bool_exempt_adh` tinyint(1) NOT NULL DEFAULT '0',
`bool_display_info` tinyint(1) NOT NULL DEFAULT '0',
`date_echeance` date DEFAULT NULL,
`pref_lang` varchar(20) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
`lieu_naissance` varchar(255) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
`gpgid` longtext COLLATE utf8mb4_unicode_520_ci,
`fingerprint` varchar(255) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
`parent_id` int UNSIGNED DEFAULT NULL,
`num_adh` varchar(255) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
`region_adh` varchar(200) COLLATE utf8mb4_unicode_520_ci NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
--
-- Index pour les tables déchargées
--
--
-- Index pour la table `gal_adherents`
--
ALTER TABLE `gal_adherents`
ADD PRIMARY KEY (`id_adh`),
ADD UNIQUE KEY `login_adh` (`login_adh`),
ADD KEY `id_statut` (`id_statut`),
ADD KEY `titre_adh` (`titre_adh`),
ADD KEY `parent_id` (`parent_id`);
--
-- AUTO_INCREMENT pour les tables déchargées
--
--
-- AUTO_INCREMENT pour la table `gal_adherents`
--
ALTER TABLE `gal_adherents`
MODIFY `id_adh` int UNSIGNED NOT NULL AUTO_INCREMENT;
--
-- Contraintes pour les tables déchargées
--
--
-- Contraintes pour la table `gal_adherents`
--
ALTER TABLE `gal_adherents`
ADD CONSTRAINT `gal_adherents_ibfk_1` FOREIGN KEY (`id_statut`) REFERENCES `gal_statuts` (`id_statut`) ON DELETE RESTRICT ON UPDATE CASCADE,
ADD CONSTRAINT `gal_adherents_ibfk_2` FOREIGN KEY (`titre_adh`) REFERENCES `gal_titles` (`id_title`) ON DELETE RESTRICT ON UPDATE CASCADE,
ADD CONSTRAINT `gal_adherents_ibfk_3` FOREIGN KEY (`parent_id`) REFERENCES `gal_adherents` (`id_adh`) ON DELETE RESTRICT ON UPDATE CASCADE;
COMMIT;
Merci d'avance pour votre aide,
Antoine