Créer des rapports de bugs pour la migration Oracle vers PostgreSQL
Quand utiliser
- Documenter un défaut causé par des différences comportementales entre Oracle et PostgreSQL
- Rédiger ou examiner un rapport de bugs pour un projet de migration Oracle vers PostgreSQL
Format du rapport de bugs
Utilisez le modèle dans references/BUG-REPORT-TEMPLATE.md. Chaque rapport doit inclure :
- Status : ✅ RESOLVED, ⛔ UNRESOLVED, ou ⏳ IN PROGRESS
- Component : Endpoint affecté, repository ou stored procedure
- Test : Noms des tests automatisés associés
- Severity : Low / Medium / High / Critical — basée sur l'étendue de l'impact
- Problem : Comportement attendu d'Oracle vs. comportement observé sur PostgreSQL
- Scenario : Étapes de reproduction ordonnées avec données d'initialisation, opération, résultat attendu et résultat réel
- Root Cause : La différence comportementale spécifique Oracle/PostgreSQL causant le défaut
- Solution : Changements effectués ou nécessaires, avec chemins de fichiers explicites
- Validation : Étapes pour confirmer la correction sur les deux bases de données
Guide Oracle-vers-PostgreSQL
- Oracle est la source de vérité — encadrez le comportement attendu à partir de la baseline Oracle
- Mettez en évidence explicitement les nuances de la couche de données : chaîne vide vs. NULL, rigueur de la coercion de type, collation, valeurs de séquence, fuseaux horaires, rembourrage, contraintes
- Les changements du code client doivent être évités sauf s'ils sont nécessaires pour un comportement correct ; quand proposés, documentez-les et justifiez-les clairement
Style de rédaction
- Langage clair, phrases courtes, actions suivantes explicites
- Temps présent ou passé de manière cohérente
- Listes à puces et listes numérotées pour les étapes et validations
- Extraits SQL et logs minimaux comme preuve ; omettez les données sensibles et gardez les snippets reproductibles
- Respectez les versions de runtime/langage existantes ; évitez les corrections spéculatives
Convention de nommage des fichiers
Enregistrez les rapports de bugs sous le nom BUG_REPORT_<DescriptiveSlug>.md où <DescriptiveSlug> est un court identifiant en PascalCase (par ex. EmptyStringNullHandling, RefCursorUnwrapFailure).