Cette migration convertit tous les IDs de number vers UUID (string).
Cette migration supprimera toutes les données existantes !
- ✅ Topic :
id: number→id: string(UUID) - ✅ Quote :
id: number→id: string(UUID) - ✅ User :
id: number→id: string(UUID)
- ✅
title: Titre d'affichage (optionnel) - ✅
icon: Nom de l'icône Ionicons (optionnel) - ✅
color: Couleur du gradient (optionnel) - ✅
isPremium: Statut premium (boolean)
cd apps/api
npm run db:reset
npm run devCela va :
- Supprimer l'ancienne base de données
- Créer une nouvelle base avec UUID
- Démarrer le serveur
cd apps/api
rm database.sqlite
npm run dev- Réimporter les données : Utilisez les scripts de seed pour réimporter vos topics et quotes
- Recréer les utilisateurs : Les utilisateurs devront se réinscrire
- Vérifier l'admin : Connectez-vous à l'admin panel pour vérifier que tout fonctionne
interface Topic {
id: string; // ← UUID au lieu de number
name: string;
title?: string;
icon?: string;
color?: string;
isPremium?: boolean;
}
interface Quote {
id: string; // ← UUID au lieu de number
text: string;
author: string;
topic?: Topic;
}Les endpoints restent les mêmes, mais acceptent maintenant des UUID :
GET /topics/:id → id est un UUID
GET /quotes/:id → id est un UUID
PATCH /topics/:id → id est un UUID
DELETE /quotes/:id → id est un UUID
Le formulaire d'édition des topics inclut maintenant :
- Title : Titre d'affichage (par défaut = name)
- Icon : Nom de l'icône Ionicons (ex: flame, trophy, heart)
- Color : Sélecteur de couleur pour le gradient
- Premium : Toggle pour marquer le topic comme premium
Après la migration, vérifiez :
- L'API démarre sans erreur
- Les topics peuvent être créés/modifiés
- Les quotes peuvent être créées/modifiées
- L'admin panel affiche correctement les topics avec leurs couleurs/icônes
- L'app mobile affiche correctement les topics
- Les topics premium sont verrouillés pour les utilisateurs non-premium
Si vous devez revenir en arrière :
- Restaurez une sauvegarde de votre base de données
- Revertez les changements de code avec git