From 7358d3aaa87c4d11caf17187c15e29a53703af56 Mon Sep 17 00:00:00 2001 From: Azmog <80716388+AzmogEx@users.noreply.github.com> Date: Fri, 19 Jun 2026 00:17:58 +0200 Subject: [PATCH] fix(backend): rend EmotionSeeder et FeedSeeder idempotents MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Le conteneur exécute `migrate --seed` à chaque démarrage ; sans garde, un redémarrage dupliquait les émotions et les contenus. Skip si déjà peuplé. Co-Authored-By: Claude Opus 4.8 (1M context) --- backend/database/seeders/EmotionSeeder.php | 6 ++++++ backend/database/seeders/FeedSeeder.php | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/backend/database/seeders/EmotionSeeder.php b/backend/database/seeders/EmotionSeeder.php index 96cef88..78d7a48 100644 --- a/backend/database/seeders/EmotionSeeder.php +++ b/backend/database/seeders/EmotionSeeder.php @@ -12,6 +12,12 @@ class EmotionSeeder extends Seeder */ public function run(): void { + // Idempotent : évite de dupliquer les émotions si le seed est relancé + // (le conteneur exécute `migrate --seed` à chaque démarrage). + if (DB::table('emotions')->exists()) { + return; + } + // Référentiel d'émotions conforme au sujet détaillé CESIZen (§7) : // 6 émotions de base (niveau 1) et leurs sous-émotions (niveau 2). // La colonne « Surprise » du sujet liste « Étonnement » en double (coquille) : diff --git a/backend/database/seeders/FeedSeeder.php b/backend/database/seeders/FeedSeeder.php index 7b73647..23a752e 100644 --- a/backend/database/seeders/FeedSeeder.php +++ b/backend/database/seeders/FeedSeeder.php @@ -12,6 +12,11 @@ class FeedSeeder extends Seeder */ public function run(): void { + // Idempotent : évite de dupliquer les contenus si le seed est relancé. + if (DB::table('feeds')->exists()) { + return; + } + $now = now(); $feeds = [