From 5e21ef95732cfd12d97f9f07348a48f0e7779b02 Mon Sep 17 00:00:00 2001 From: dahoud <41957584+DahoudG@users.noreply.github.com> Date: Fri, 10 Apr 2026 15:48:32 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20V10=20migration=20=E2=80=94=20corriger?= =?UTF-8?q?=20type=20colonne=20version=20dans=20modules=5Fdisponibles?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La colonne version était VARCHAR(20) au lieu de BIGINT, causant une erreur Hibernate validate au démarrage. L'entité ModuleDisponible n'a pas de champ version propre — la colonne était orpheline et conflicte avec BaseEntity @Version. Fix idempotent : suppression VARCHAR + ajout BIGINT DEFAULT 0 (table vide). --- ...ModulesDisponibles_Version_Column_Type.sql | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/main/resources/db/migration/V10__Fix_ModulesDisponibles_Version_Column_Type.sql diff --git a/src/main/resources/db/migration/V10__Fix_ModulesDisponibles_Version_Column_Type.sql b/src/main/resources/db/migration/V10__Fix_ModulesDisponibles_Version_Column_Type.sql new file mode 100644 index 0000000..d0309d2 --- /dev/null +++ b/src/main/resources/db/migration/V10__Fix_ModulesDisponibles_Version_Column_Type.sql @@ -0,0 +1,19 @@ +-- V10 : Correction type colonne version dans modules_disponibles +-- La colonne version était VARCHAR(20) (version produit comme "1.0.0") +-- mais BaseEntity attend BIGINT (@Version Hibernate pour optimistic locking) +-- L'entité ModuleDisponible n'a pas de champ version propre → la colonne VARCHAR était orpheline +-- Correction : supprimer l'ancienne VARCHAR, ajouter BIGINT version=0 + +DO $$ +BEGIN + -- Supprimer version VARCHAR si elle existe encore + IF EXISTS ( + SELECT 1 FROM information_schema.columns + WHERE table_name = 'modules_disponibles' + AND column_name = 'version' + AND data_type = 'character varying' + ) THEN + ALTER TABLE modules_disponibles DROP COLUMN version; + ALTER TABLE modules_disponibles ADD COLUMN version BIGINT NOT NULL DEFAULT 0; + END IF; +END $$;