feat(backend): consolidation finale Spec 001 LCB-FT + Flyway V1-V5
Migrations Flyway (consolidées) : - V1 : Schéma complet (69 tables, 1322 lignes) - V2 : Colonnes BaseEntity (cree_par, modifie_par) - V3 : Colonnes métier manquantes (adresses, alert_configuration) - V4 : Correction system_logs (renommage colonnes, ajout timestamp) - V5 : Nettoyage alert_configuration (suppression colonnes obsolètes) - Suppression V2-V6 obsolètes (fragmentés) Entités LCB-FT : - AlerteLcbFt : Alertes anti-blanchiment - AlertConfiguration : Configuration alertes - SystemAlert : Alertes système - SystemLog : Logs techniques (DÉJÀ COMMITÉE avec super.onCreate fix) Services LCB-FT (T015, T016) : - AlerteLcbFtService + Resource : Dashboard alertes admin - AlertMonitoringService : Surveillance transactions - SystemLoggingService : Logs centralisés - FileStorageService : Upload documents Repositories : - AlerteLcbFtRepository - AlertConfigurationRepository - SystemAlertRepository - SystemLogRepository Tests : - GlobalExceptionMapperTest : 17 erreurs corrigées (toResponse()) Spec 001 : 27/27 tâches (100%) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,219 @@
|
||||
-- ============================================================================
|
||||
-- V2: Ajout des colonnes BaseEntity manquantes
|
||||
-- ============================================================================
|
||||
-- Auteur: Lions Dev
|
||||
-- Date: 2026-03-16
|
||||
-- Description: Ajoute les colonnes cree_par et modifie_par dans toutes les
|
||||
-- tables qui ne les ont pas encore.
|
||||
-- Ces colonnes font partie de BaseEntity et sont requises par
|
||||
-- Hibernate pour le bon fonctionnement de l'audit.
|
||||
-- ============================================================================
|
||||
|
||||
-- Pattern: Pour chaque table sans cree_par/modifie_par, ajouter:
|
||||
-- ALTER TABLE nom_table ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
-- ALTER TABLE nom_table ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
-- Tables de base
|
||||
ALTER TABLE adresses ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE adresses ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE ayants_droit ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE ayants_droit ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE agrements_professionnels ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE agrements_professionnels ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE alert_configuration ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE alert_configuration ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE alertes_lcb_ft ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE alertes_lcb_ft ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE approver_actions ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE approver_actions ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE audit_logs ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE audit_logs ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE budget_lines ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE budget_lines ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE budgets ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE budgets ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE campagnes_agricoles ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE campagnes_agricoles ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE campagnes_collecte ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE campagnes_collecte ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE campagnes_vote ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE campagnes_vote ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE candidats ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE candidats ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE compte_comptable ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE compte_comptable ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE comptes_epargne ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE comptes_epargne ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE comptes_wave ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE comptes_wave ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE configuration ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE configuration ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE configuration_wave ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE configuration_wave ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE contributions_collecte ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE contributions_collecte ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE cotisations ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE cotisations ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE demande_adhesion ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE demande_adhesion ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE demandes_aide ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE demandes_aide ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE demandes_credit ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE demandes_credit ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE document ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE document ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE dons_religieux ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE dons_religieux ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE echeances_credit ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE echeances_credit ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE echelons_organigramme ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE echelons_organigramme ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE ecriture_comptable ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE ecriture_comptable ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE evenements ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE evenements ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE favori ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE favori ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE formule_abonnement ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE formule_abonnement ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE garanties_demande ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE garanties_demande ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE inscriptions_evenement ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE inscriptions_evenement ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE intention_paiement ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE intention_paiement ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE journal_comptable ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE journal_comptable ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE ligne_ecriture ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE ligne_ecriture ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE membre_organisation ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE membre_organisation ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE membre_role ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE membre_role ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE membre_suivi ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE membre_suivi ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE module_disponible ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE module_disponible ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE modules_organisation_actifs ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE modules_organisation_actifs ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE notifications ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE notifications ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE paiements ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE paiements ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE paiements_objets ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE paiements_objets ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE parametres_cotisation_organisation ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE parametres_cotisation_organisation ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE parametres_lcb_ft ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE parametres_lcb_ft ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE permission ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE permission ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE pieces_jointes ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE pieces_jointes ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE projets_ong ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE projets_ong ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE role_permission ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE role_permission ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE souscription_organisation ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE souscription_organisation ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE suggestion ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE suggestion ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE suggestion_vote ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE suggestion_vote ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE system_alerts ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE system_alerts ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE system_logs ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE system_logs ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE template_notification ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE template_notification ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE ticket ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE ticket ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE tontines ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE tontines ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE tours_tontine ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE tours_tontine ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE transaction_approvals ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE transaction_approvals ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE transaction_wave ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE transaction_wave ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE transactions_epargne ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE transactions_epargne ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE types_reference ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE types_reference ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE validation_etape_demande ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE validation_etape_demande ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE webhooks_wave ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE webhooks_wave ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
ALTER TABLE workflow_validation_config ADD COLUMN IF NOT EXISTS cree_par VARCHAR(255);
|
||||
ALTER TABLE workflow_validation_config ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
-- Message de confirmation
|
||||
DO $$
|
||||
BEGIN
|
||||
RAISE NOTICE '✅ Colonnes BaseEntity ajoutées à toutes les tables';
|
||||
END $$;
|
||||
@@ -0,0 +1,92 @@
|
||||
-- ============================================================================
|
||||
-- V3: Correction des colonnes métier manquantes
|
||||
-- ============================================================================
|
||||
-- Auteur: Lions Dev
|
||||
-- Date: 2026-03-16
|
||||
-- Description: Ajoute les colonnes métier manquantes dans les tables
|
||||
-- adresses et alert_configuration
|
||||
-- ============================================================================
|
||||
|
||||
-- Table adresses - colonnes manquantes
|
||||
ALTER TABLE adresses ADD COLUMN IF NOT EXISTS adresse VARCHAR(500);
|
||||
ALTER TABLE adresses ADD COLUMN IF NOT EXISTS complement_adresse VARCHAR(200);
|
||||
ALTER TABLE adresses ADD COLUMN IF NOT EXISTS principale BOOLEAN DEFAULT false;
|
||||
ALTER TABLE adresses ADD COLUMN IF NOT EXISTS libelle VARCHAR(100);
|
||||
ALTER TABLE adresses ADD COLUMN IF NOT EXISTS notes VARCHAR(500);
|
||||
ALTER TABLE adresses ADD COLUMN IF NOT EXISTS organisation_id UUID;
|
||||
ALTER TABLE adresses ADD COLUMN IF NOT EXISTS membre_id UUID;
|
||||
ALTER TABLE adresses ADD COLUMN IF NOT EXISTS evenement_id UUID;
|
||||
|
||||
-- Ajouter NOT NULL après coup (si la colonne existe déjà, ça échouera silencieusement)
|
||||
DO $$
|
||||
BEGIN
|
||||
BEGIN
|
||||
ALTER TABLE adresses ALTER COLUMN principale SET NOT NULL;
|
||||
EXCEPTION WHEN OTHERS THEN
|
||||
NULL;
|
||||
END;
|
||||
END $$;
|
||||
|
||||
-- Index pour adresses (s'ils n'existent pas déjà)
|
||||
CREATE INDEX IF NOT EXISTS idx_adresse_organisation ON adresses(organisation_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_adresse_membre ON adresses(membre_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_adresse_evenement ON adresses(evenement_id);
|
||||
|
||||
-- Foreign keys pour adresses (avec gestion des doublons)
|
||||
DO $$
|
||||
BEGIN
|
||||
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'fk_adresse_organisation') THEN
|
||||
ALTER TABLE adresses ADD CONSTRAINT fk_adresse_organisation
|
||||
FOREIGN KEY (organisation_id) REFERENCES organisations(id) ON DELETE CASCADE;
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'fk_adresse_membre') THEN
|
||||
ALTER TABLE adresses ADD CONSTRAINT fk_adresse_membre
|
||||
FOREIGN KEY (membre_id) REFERENCES utilisateurs(id) ON DELETE CASCADE;
|
||||
END IF;
|
||||
|
||||
IF NOT EXISTS (SELECT 1 FROM pg_constraint WHERE conname = 'fk_adresse_evenement') THEN
|
||||
ALTER TABLE adresses ADD CONSTRAINT fk_adresse_evenement
|
||||
FOREIGN KEY (evenement_id) REFERENCES evenements(id) ON DELETE CASCADE;
|
||||
END IF;
|
||||
END $$;
|
||||
|
||||
-- Table alert_configuration - colonnes manquantes
|
||||
ALTER TABLE alert_configuration ADD COLUMN IF NOT EXISTS cpu_high_alert_enabled BOOLEAN DEFAULT true;
|
||||
ALTER TABLE alert_configuration ADD COLUMN IF NOT EXISTS cpu_threshold_percent INTEGER DEFAULT 80;
|
||||
ALTER TABLE alert_configuration ADD COLUMN IF NOT EXISTS cpu_duration_minutes INTEGER DEFAULT 5;
|
||||
ALTER TABLE alert_configuration ADD COLUMN IF NOT EXISTS memory_low_alert_enabled BOOLEAN DEFAULT true;
|
||||
ALTER TABLE alert_configuration ADD COLUMN IF NOT EXISTS memory_threshold_percent INTEGER DEFAULT 85;
|
||||
ALTER TABLE alert_configuration ADD COLUMN IF NOT EXISTS critical_error_alert_enabled BOOLEAN DEFAULT true;
|
||||
ALTER TABLE alert_configuration ADD COLUMN IF NOT EXISTS error_alert_enabled BOOLEAN DEFAULT true;
|
||||
ALTER TABLE alert_configuration ADD COLUMN IF NOT EXISTS connection_failure_alert_enabled BOOLEAN DEFAULT true;
|
||||
ALTER TABLE alert_configuration ADD COLUMN IF NOT EXISTS connection_failure_threshold INTEGER DEFAULT 100;
|
||||
ALTER TABLE alert_configuration ADD COLUMN IF NOT EXISTS connection_failure_window_minutes INTEGER DEFAULT 5;
|
||||
ALTER TABLE alert_configuration ADD COLUMN IF NOT EXISTS email_notifications_enabled BOOLEAN DEFAULT true;
|
||||
ALTER TABLE alert_configuration ADD COLUMN IF NOT EXISTS push_notifications_enabled BOOLEAN DEFAULT false;
|
||||
ALTER TABLE alert_configuration ADD COLUMN IF NOT EXISTS sms_notifications_enabled BOOLEAN DEFAULT false;
|
||||
ALTER TABLE alert_configuration ADD COLUMN IF NOT EXISTS alert_email_recipients VARCHAR(1000) DEFAULT 'admin@unionflow.test';
|
||||
|
||||
-- Ajouter NOT NULL après coup
|
||||
DO $$
|
||||
BEGIN
|
||||
BEGIN ALTER TABLE alert_configuration ALTER COLUMN cpu_high_alert_enabled SET NOT NULL; EXCEPTION WHEN OTHERS THEN NULL; END;
|
||||
BEGIN ALTER TABLE alert_configuration ALTER COLUMN cpu_threshold_percent SET NOT NULL; EXCEPTION WHEN OTHERS THEN NULL; END;
|
||||
BEGIN ALTER TABLE alert_configuration ALTER COLUMN cpu_duration_minutes SET NOT NULL; EXCEPTION WHEN OTHERS THEN NULL; END;
|
||||
BEGIN ALTER TABLE alert_configuration ALTER COLUMN memory_low_alert_enabled SET NOT NULL; EXCEPTION WHEN OTHERS THEN NULL; END;
|
||||
BEGIN ALTER TABLE alert_configuration ALTER COLUMN memory_threshold_percent SET NOT NULL; EXCEPTION WHEN OTHERS THEN NULL; END;
|
||||
BEGIN ALTER TABLE alert_configuration ALTER COLUMN critical_error_alert_enabled SET NOT NULL; EXCEPTION WHEN OTHERS THEN NULL; END;
|
||||
BEGIN ALTER TABLE alert_configuration ALTER COLUMN error_alert_enabled SET NOT NULL; EXCEPTION WHEN OTHERS THEN NULL; END;
|
||||
BEGIN ALTER TABLE alert_configuration ALTER COLUMN connection_failure_alert_enabled SET NOT NULL; EXCEPTION WHEN OTHERS THEN NULL; END;
|
||||
BEGIN ALTER TABLE alert_configuration ALTER COLUMN connection_failure_threshold SET NOT NULL; EXCEPTION WHEN OTHERS THEN NULL; END;
|
||||
BEGIN ALTER TABLE alert_configuration ALTER COLUMN connection_failure_window_minutes SET NOT NULL; EXCEPTION WHEN OTHERS THEN NULL; END;
|
||||
BEGIN ALTER TABLE alert_configuration ALTER COLUMN email_notifications_enabled SET NOT NULL; EXCEPTION WHEN OTHERS THEN NULL; END;
|
||||
BEGIN ALTER TABLE alert_configuration ALTER COLUMN push_notifications_enabled SET NOT NULL; EXCEPTION WHEN OTHERS THEN NULL; END;
|
||||
BEGIN ALTER TABLE alert_configuration ALTER COLUMN sms_notifications_enabled SET NOT NULL; EXCEPTION WHEN OTHERS THEN NULL; END;
|
||||
END $$;
|
||||
|
||||
-- Message de confirmation
|
||||
DO $$
|
||||
BEGIN
|
||||
RAISE NOTICE '✅ Colonnes métier manquantes ajoutées';
|
||||
END $$;
|
||||
54
src/main/resources/db/migration/V4__Fix_SystemLogs_Table.sql
Normal file
54
src/main/resources/db/migration/V4__Fix_SystemLogs_Table.sql
Normal file
@@ -0,0 +1,54 @@
|
||||
-- ============================================================================
|
||||
-- V4: Correction de la table system_logs
|
||||
-- ============================================================================
|
||||
-- Auteur: Lions Dev
|
||||
-- Date: 2026-03-16
|
||||
-- Description: Corrige les noms de colonnes et ajoute les colonnes manquantes
|
||||
-- dans system_logs pour correspondre à l'entité JPA SystemLog
|
||||
-- ============================================================================
|
||||
|
||||
-- 1. Renommer les colonnes avec des noms incorrects
|
||||
ALTER TABLE system_logs RENAME COLUMN niveau TO level;
|
||||
ALTER TABLE system_logs RENAME COLUMN stacktrace TO details;
|
||||
|
||||
-- 2. Modifier utilisateur_id: UUID → VARCHAR(255) et renommer user_id
|
||||
-- D'abord supprimer la colonne UUID, puis ajouter VARCHAR
|
||||
ALTER TABLE system_logs DROP COLUMN IF EXISTS utilisateur_id;
|
||||
ALTER TABLE system_logs ADD COLUMN IF NOT EXISTS user_id VARCHAR(255);
|
||||
|
||||
-- 3. Ajouter les colonnes manquantes
|
||||
ALTER TABLE system_logs ADD COLUMN IF NOT EXISTS timestamp TIMESTAMP;
|
||||
ALTER TABLE system_logs ADD COLUMN IF NOT EXISTS session_id VARCHAR(255);
|
||||
ALTER TABLE system_logs ADD COLUMN IF NOT EXISTS endpoint VARCHAR(500);
|
||||
ALTER TABLE system_logs ADD COLUMN IF NOT EXISTS http_status_code INTEGER;
|
||||
ALTER TABLE system_logs ADD COLUMN IF NOT EXISTS date_modification TIMESTAMP;
|
||||
ALTER TABLE system_logs ADD COLUMN IF NOT EXISTS modifie_par VARCHAR(255);
|
||||
|
||||
-- 4. Ajuster les types de colonnes existantes
|
||||
ALTER TABLE system_logs ALTER COLUMN message TYPE VARCHAR(1000);
|
||||
ALTER TABLE system_logs ALTER COLUMN ip_address TYPE VARCHAR(45);
|
||||
|
||||
-- 5. Définir timestamp NOT NULL après coup (si données existantes, timestamp = date_creation)
|
||||
UPDATE system_logs SET timestamp = date_creation WHERE timestamp IS NULL;
|
||||
|
||||
DO $$
|
||||
BEGIN
|
||||
BEGIN
|
||||
ALTER TABLE system_logs ALTER COLUMN timestamp SET NOT NULL;
|
||||
EXCEPTION WHEN OTHERS THEN
|
||||
NULL;
|
||||
END;
|
||||
END $$;
|
||||
|
||||
-- 6. Recréer les index avec les bons noms de colonnes
|
||||
DROP INDEX IF EXISTS idx_system_logs_niveau;
|
||||
CREATE INDEX IF NOT EXISTS idx_system_log_level ON system_logs(level);
|
||||
CREATE INDEX IF NOT EXISTS idx_system_log_timestamp ON system_logs(timestamp);
|
||||
CREATE INDEX IF NOT EXISTS idx_system_log_source ON system_logs(source);
|
||||
CREATE INDEX IF NOT EXISTS idx_system_log_user_id ON system_logs(user_id);
|
||||
|
||||
-- Message de confirmation
|
||||
DO $$
|
||||
BEGIN
|
||||
RAISE NOTICE '✅ Table system_logs corrigée (colonnes renommées et ajoutées)';
|
||||
END $$;
|
||||
@@ -0,0 +1,22 @@
|
||||
-- ============================================================================
|
||||
-- V5: Nettoyage des colonnes obsolètes dans alert_configuration
|
||||
-- ============================================================================
|
||||
-- Auteur: Lions Dev
|
||||
-- Date: 2026-03-16
|
||||
-- Description: Supprime les colonnes de V1 qui ne correspondent pas à
|
||||
-- l'entité JPA AlertConfiguration (colonnes obsolètes)
|
||||
-- ============================================================================
|
||||
|
||||
-- Supprimer les colonnes obsolètes de la version V1 d'alert_configuration
|
||||
ALTER TABLE alert_configuration DROP COLUMN IF EXISTS type_alerte;
|
||||
ALTER TABLE alert_configuration DROP COLUMN IF EXISTS seuil_critique;
|
||||
ALTER TABLE alert_configuration DROP COLUMN IF EXISTS seuil_warning;
|
||||
ALTER TABLE alert_configuration DROP COLUMN IF EXISTS notification_email;
|
||||
ALTER TABLE alert_configuration DROP COLUMN IF EXISTS notification_sms;
|
||||
ALTER TABLE alert_configuration DROP COLUMN IF EXISTS destinataires;
|
||||
|
||||
-- Message de confirmation
|
||||
DO $$
|
||||
BEGIN
|
||||
RAISE NOTICE '✅ Colonnes obsolètes supprimées de alert_configuration';
|
||||
END $$;
|
||||
Reference in New Issue
Block a user