- Task #6: WebSocket /ws/dashboard + Kafka events (5 topics) * Backend: KafkaEventProducer, KafkaEventConsumer * Mobile: WebSocketService (reconnection, heartbeat, typed events) * DashboardBloc: Auto-refresh depuis WebSocket events - Finance Workflow: approbations + budgets (backend + mobile) * Backend: entities, services, resources, migrations Flyway V6 * Mobile: features finance_workflow complète avec BLoC - Corrections DI: interfaces IRepository partout * IProfileRepository, IOrganizationRepository, IMembreRepository * GetIt configuré avec @injectable - Spec-Kit: constitution + templates mis à jour * .specify/memory/constitution.md enrichie * Templates agent, plan, spec, tasks, checklist - Nettoyage: fichiers temporaires supprimés Signed-off-by: lions dev Team
88 lines
4.9 KiB
PL/PgSQL
88 lines
4.9 KiB
PL/PgSQL
-- =============================================================================
|
|
-- Script de réparation Flyway — UnionFlow (mode dev)
|
|
-- =============================================================================
|
|
-- Exécuter UNE SEULE FOIS sur la base PostgreSQL "unionflow" AVANT de
|
|
-- relancer le serveur.
|
|
--
|
|
-- Contexte :
|
|
-- Hibernate (mode "update") avait créé certaines tables avant que Flyway
|
|
-- ne prenne le relais. Résultat : la table types_reference existe mais
|
|
-- manque la colonne "valeur_systeme" qu'attend V3.0.
|
|
-- flyway_schema_history s'arrête à la version 2.10.
|
|
--
|
|
-- Solution :
|
|
-- 1. Ajouter les colonnes manquantes (ajoutées par V3.x mais absentes
|
|
-- car Hibernate avait créé les tables avant).
|
|
-- 2. Marquer V3.0 → V3.6 comme "déjà appliquées" (success=true) dans
|
|
-- flyway_schema_history, afin que Flyway ne les reexécute pas.
|
|
-- 3. Flyway n'exécutera alors que V3.7 (seed des membres de test).
|
|
-- =============================================================================
|
|
|
|
BEGIN;
|
|
|
|
-- ─────────────────────────────────────────────────────────────────────────────
|
|
-- 1. Ajouter les colonnes manquantes dues au mode Hibernate "update"
|
|
-- ─────────────────────────────────────────────────────────────────────────────
|
|
|
|
-- V3.0 a besoin de cette colonne dans types_reference
|
|
ALTER TABLE types_reference
|
|
ADD COLUMN IF NOT EXISTS valeur_systeme BOOLEAN NOT NULL DEFAULT FALSE;
|
|
|
|
-- V3.5 peut avoir ajouté des colonnes d'adresse dans organisations
|
|
-- (ajout sécurisé — sans erreur si déjà présentes)
|
|
ALTER TABLE organisations ADD COLUMN IF NOT EXISTS adresse VARCHAR(255);
|
|
ALTER TABLE organisations ADD COLUMN IF NOT EXISTS ville VARCHAR(100);
|
|
ALTER TABLE organisations ADD COLUMN IF NOT EXISTS code_postal VARCHAR(20);
|
|
ALTER TABLE organisations ADD COLUMN IF NOT EXISTS pays VARCHAR(100);
|
|
ALTER TABLE organisations ADD COLUMN IF NOT EXISTS region VARCHAR(100);
|
|
|
|
-- ─────────────────────────────────────────────────────────────────────────────
|
|
-- 2. Marquer V3.0 à V3.6 comme appliquées dans flyway_schema_history
|
|
-- ─────────────────────────────────────────────────────────────────────────────
|
|
|
|
DO $$
|
|
DECLARE
|
|
max_rank INT;
|
|
BEGIN
|
|
SELECT COALESCE(MAX(installed_rank), 0) INTO max_rank FROM flyway_schema_history;
|
|
|
|
INSERT INTO flyway_schema_history
|
|
(installed_rank, version, description, type, script, checksum,
|
|
installed_by, installed_on, execution_time, success)
|
|
VALUES
|
|
(max_rank + 1, '3.0', 'Optimisation Structure Donnees', 'SQL',
|
|
'V3.0__Optimisation_Structure_Donnees.sql', 0, current_user, NOW(), 0, true),
|
|
|
|
(max_rank + 2, '3.1', 'Add Module Disponible FK', 'SQL',
|
|
'V3.1__Add_Module_Disponible_FK.sql', 0, current_user, NOW(), 0, true),
|
|
|
|
(max_rank + 3, '3.2', 'Seed Types Reference', 'SQL',
|
|
'V3.2__Seed_Types_Reference.sql', 0, current_user, NOW(), 0, true),
|
|
|
|
(max_rank + 4, '3.3', 'Optimisation Index Performance', 'SQL',
|
|
'V3.3__Optimisation_Index_Performance.sql', 0, current_user, NOW(), 0, true),
|
|
|
|
(max_rank + 5, '3.4', 'LCB FT Anti Blanchiment', 'SQL',
|
|
'V3.4__LCB_FT_Anti_Blanchiment.sql', 0, current_user, NOW(), 0, true),
|
|
|
|
(max_rank + 6, '3.5', 'Add Organisation Address Fields', 'SQL',
|
|
'V3.5__Add_Organisation_Address_Fields.sql', 0, current_user, NOW(), 0, true),
|
|
|
|
(max_rank + 7, '3.6', 'Create Test Organisations', 'SQL',
|
|
'V3.6__Create_Test_Organisations.sql', 0, current_user, NOW(), 0, true)
|
|
|
|
ON CONFLICT (version) DO NOTHING;
|
|
END $$;
|
|
|
|
COMMIT;
|
|
|
|
-- ─────────────────────────────────────────────────────────────────────────────
|
|
-- 3. Vérification finale
|
|
-- ─────────────────────────────────────────────────────────────────────────────
|
|
|
|
SELECT version, description, success, installed_on
|
|
FROM flyway_schema_history
|
|
ORDER BY installed_rank;
|
|
-- Vous devriez voir : ..., 2.10, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6
|
|
-- V3.7 sera appliquée par Flyway au prochain démarrage du serveur.
|