creating-oracle-to-postgres-master-migration-plan

Par github · awesome-copilot

Découvre tous les projets d'une solution .NET, les classe selon leur éligibilité à la migration Oracle vers PostgreSQL, et produit un plan de migration maître persistant. À utiliser lors du démarrage d'une migration Oracle vers PostgreSQL multi-projets, de la création d'un inventaire de migration, ou de l'évaluation des projets .NET contenant des dépendances Oracle.

npx skills add https://github.com/github/awesome-copilot --skill creating-oracle-to-postgres-master-migration-plan

Créer un plan maître de migration Oracle vers PostgreSQL

Analyser une solution .NET, classer chaque projet selon son éligibilité à la migration Oracle→PostgreSQL, et rédiger un plan structuré que les agents et skills en aval peuvent analyser.

Workflow

Progression :
- [ ] Étape 1 : Découvrir les projets de la solution
- [ ] Étape 2 : Classer chaque projet
- [ ] Étape 3 : Confirmer avec l'utilisateur
- [ ] Étape 4 : Rédiger le fichier de plan

Étape 1 : Découvrir les projets

Trouver le fichier Solution (extension .sln ou .slnx) à la racine du workspace (demander à l'utilisateur s'il en existe plusieurs). L'analyser pour extraire toutes les références de projets .csproj. Pour chaque projet, noter le nom, le chemin et le type (bibliothèque de classe, API web, console, test, etc.).

Étape 2 : Classer chaque projet

Analyser chaque projet non-test pour détecter les indicateurs Oracle :

  • Références NuGet : Oracle.ManagedDataAccess, Oracle.EntityFrameworkCore (vérifier dans .csproj et packages.config)
  • Entrées de configuration : chaînes de connexion Oracle dans appsettings.json, web.config, app.config
  • Utilisation dans le code : OracleConnection, OracleCommand, OracleDataReader
  • Références DDL dans .github/oracle-to-postgres-migration/DDL/Oracle/ (si présent)

Assigner une classification par projet :

Classification Signification
MIGRATE Contient des interactions Oracle nécessitant une conversion
SKIP Aucun indicateur Oracle (interface utilisateur uniquement, utilitaire partagé, etc.)
ALREADY_MIGRATED Un doublon -postgres ou .Postgres existe et semble traité
TEST_PROJECT Projet de test ; géré par le workflow de test

Étape 3 : Confirmer avec l'utilisateur

Présenter la liste classifiée. Permettre à l'utilisateur d'ajuster les classifications ou l'ordre de migration avant finalisation.

Étape 4 : Rédiger le fichier de plan

Enregistrer dans : .github/oracle-to-postgres-migration/Reports/Master Migration Plan.md

Utiliser ce modèle exact — les consommateurs en aval dépendent de sa structure :

# Plan Maître de Migration

**Solution :** {nom du fichier solution}
**Racine de la solution :** {REPOSITORY_ROOT}
**Créé :** {horodatage}
**Dernière mise à jour :** {horodatage}

## Résumé de la Solution

| Métrique | Nombre |
|----------|--------|
| Total des projets dans la solution | {n} |
| Projets nécessitant une migration | {n} |
| Projets déjà migrés | {n} |
| Projets ignorés (pas d'utilisation Oracle) | {n} |
| Projets de test (gérés séparément) | {n} |

## Inventaire des Projets

| # | Nom du Projet | Chemin | Classification | Notes |
|---|---|---|---|---|
| 1 | {nom} | {chemin relatif} | MIGRATE | {notes} |
| 2 | {nom} | {chemin relatif} | SKIP | Pas de dépendances Oracle |

## Ordre de Migration

1. **{NomDuProjet}** — {raison, ex. "Bibliothèque d'accès aux données de base ; les autres projets en dépendent."}
2. **{NomDuProjet}** — {raison}

Ordonner les projets de manière que les bibliothèques partagées/fondamentales soient migrées avant leurs dépendants.

Skills similaires