MIGRATION VERS GITEA
This commit is contained in:
commit
5f9d991c15
333 files changed
+108514
No files matched your search
@@ -0,0 +1,204 @@
|
||||
-- ============================================================================
|
||||
-- DONNÉES DE TEST: Perturbations
|
||||
-- Description: Jeux de données pour tester le système de perturbations
|
||||
-- ============================================================================
|
||||
|
||||
-- Note: Ces données sont à insérer APRÈS avoir des horaires existants dans la base
|
||||
|
||||
-- Exemple 1: Retard sur un train
|
||||
-- Remplacer 'HORAIRE_ID_1' par un véritable ID d'horaire existant
|
||||
INSERT INTO perturbations (
|
||||
horaire_id,
|
||||
type_perturbation,
|
||||
duree_retard_minutes,
|
||||
cause,
|
||||
cause_details,
|
||||
date_debut,
|
||||
date_fin,
|
||||
actif,
|
||||
notes
|
||||
) VALUES (
|
||||
(SELECT id FROM horaires LIMIT 1), -- Premier horaire de la base
|
||||
'retard',
|
||||
25,
|
||||
'incident_technique',
|
||||
'Panne de signalisation à Paris-Montparnasse',
|
||||
NOW(),
|
||||
NOW() + INTERVAL '2 hours',
|
||||
true,
|
||||
'Retard estimé de 25 minutes sur l''ensemble du parcours'
|
||||
);
|
||||
|
||||
-- Exemple 2: Suppression de train avec substitution
|
||||
INSERT INTO perturbations (
|
||||
horaire_id,
|
||||
type_perturbation,
|
||||
duree_retard_minutes,
|
||||
cause,
|
||||
cause_details,
|
||||
sillon_substitution_id,
|
||||
date_debut,
|
||||
date_fin,
|
||||
actif,
|
||||
notes
|
||||
) VALUES (
|
||||
(SELECT id FROM horaires LIMIT 1 OFFSET 1), -- Deuxième horaire
|
||||
'suppression',
|
||||
NULL,
|
||||
'mouvement_social',
|
||||
'Grève nationale du personnel roulant',
|
||||
(SELECT id FROM horaires LIMIT 1 OFFSET 2), -- Train de substitution
|
||||
NOW(),
|
||||
NOW() + INTERVAL '1 day',
|
||||
true,
|
||||
'Train supprimé - Report sur le train suivant disponible'
|
||||
);
|
||||
|
||||
-- Exemple 3: Modification de parcours
|
||||
DO $$
|
||||
DECLARE
|
||||
v_perturbation_id UUID;
|
||||
v_horaire_id UUID;
|
||||
BEGIN
|
||||
-- Récupérer un horaire avec des gares desservies
|
||||
SELECT h.id INTO v_horaire_id
|
||||
FROM horaires h
|
||||
WHERE EXISTS (
|
||||
SELECT 1 FROM horaires_gares_desservies hgd
|
||||
WHERE hgd.horaire_id = h.id
|
||||
)
|
||||
LIMIT 1;
|
||||
|
||||
IF v_horaire_id IS NULL THEN
|
||||
RAISE NOTICE 'Aucun horaire avec gares desservies trouvé, test ignoré';
|
||||
RETURN;
|
||||
END IF;
|
||||
|
||||
-- Créer la perturbation
|
||||
INSERT INTO perturbations (
|
||||
horaire_id,
|
||||
type_perturbation,
|
||||
duree_retard_minutes,
|
||||
cause,
|
||||
cause_details,
|
||||
date_debut,
|
||||
actif,
|
||||
notes
|
||||
) VALUES (
|
||||
v_horaire_id,
|
||||
'modification_parcours',
|
||||
NULL,
|
||||
'travaux',
|
||||
'Travaux de maintenance sur la voie entre Lyon et Valence',
|
||||
NOW(),
|
||||
true,
|
||||
'Modification du parcours : certaines gares ne seront pas desservies'
|
||||
) RETURNING id INTO v_perturbation_id;
|
||||
|
||||
-- Ajouter des modifications de parcours
|
||||
-- Supprimer une gare du parcours
|
||||
INSERT INTO perturbations_modifications_parcours (
|
||||
perturbation_id,
|
||||
type_modification,
|
||||
gare_id,
|
||||
gare_nom,
|
||||
ordre
|
||||
) SELECT
|
||||
v_perturbation_id,
|
||||
'gare_supprimee',
|
||||
gare_id,
|
||||
gare_nom,
|
||||
ordre
|
||||
FROM horaires_gares_desservies
|
||||
WHERE horaire_id = v_horaire_id
|
||||
LIMIT 1;
|
||||
|
||||
RAISE NOTICE 'Perturbation de modification de parcours créée avec succès';
|
||||
END $$;
|
||||
|
||||
-- Exemple 4: Retard causé par les conditions météorologiques
|
||||
INSERT INTO perturbations (
|
||||
horaire_id,
|
||||
type_perturbation,
|
||||
duree_retard_minutes,
|
||||
cause,
|
||||
cause_details,
|
||||
date_debut,
|
||||
date_fin,
|
||||
actif,
|
||||
notes
|
||||
) VALUES (
|
||||
(SELECT id FROM horaires LIMIT 1 OFFSET 3),
|
||||
'retard',
|
||||
45,
|
||||
'conditions_meteorologiques',
|
||||
'Fortes chutes de neige en Auvergne-Rhône-Alpes',
|
||||
NOW(),
|
||||
NOW() + INTERVAL '4 hours',
|
||||
true,
|
||||
'Circulation ralentie sur l''ensemble des lignes'
|
||||
);
|
||||
|
||||
-- Exemple 5: Perturbation inactive (historique)
|
||||
INSERT INTO perturbations (
|
||||
horaire_id,
|
||||
type_perturbation,
|
||||
duree_retard_minutes,
|
||||
cause,
|
||||
cause_details,
|
||||
date_debut,
|
||||
date_fin,
|
||||
actif,
|
||||
notes
|
||||
) VALUES (
|
||||
(SELECT id FROM horaires LIMIT 1 OFFSET 4),
|
||||
'retard',
|
||||
10,
|
||||
'affluence',
|
||||
'Affluence exceptionnelle lors du départ',
|
||||
NOW() - INTERVAL '1 day',
|
||||
NOW() - INTERVAL '1 day' + INTERVAL '30 minutes',
|
||||
false,
|
||||
'Perturbation terminée - Retard résorbé'
|
||||
);
|
||||
|
||||
-- Afficher un résumé des perturbations de test créées
|
||||
SELECT
|
||||
'Données de test créées' as statut,
|
||||
COUNT(*) as nombre_perturbations_test,
|
||||
COUNT(*) FILTER (WHERE actif = true) as perturbations_actives,
|
||||
COUNT(*) FILTER (WHERE actif = false) as perturbations_inactives
|
||||
FROM perturbations
|
||||
WHERE notes LIKE '%test%' OR notes LIKE '%Test%';
|
||||
|
||||
-- Afficher les perturbations créées
|
||||
SELECT
|
||||
p.id,
|
||||
p.type_perturbation,
|
||||
p.duree_retard_minutes,
|
||||
p.cause,
|
||||
p.actif,
|
||||
h.numero_train,
|
||||
h.gare_depart_nom,
|
||||
h.gare_arrivee_nom
|
||||
FROM perturbations p
|
||||
JOIN horaires h ON p.horaire_id = h.id
|
||||
ORDER BY p.created_at DESC
|
||||
LIMIT 10;
|
||||
|
||||
-- ============================================================================
|
||||
-- NETTOYAGE DES DONNÉES DE TEST
|
||||
-- ============================================================================
|
||||
-- Décommenter pour supprimer toutes les données de test
|
||||
/*
|
||||
DELETE FROM perturbations_modifications_parcours
|
||||
WHERE perturbation_id IN (
|
||||
SELECT id FROM perturbations
|
||||
WHERE notes LIKE '%test%' OR notes LIKE '%Test%'
|
||||
);
|
||||
|
||||
DELETE FROM perturbations
|
||||
WHERE notes LIKE '%test%' OR notes LIKE '%Test%';
|
||||
|
||||
SELECT 'Données de test supprimées' as statut;
|
||||
*/
|
||||
Reference in new issue
Block a user