Skip to content

Commit 347d19a

Browse files
committed
feat: add o2p-dbmigration plugin with comprehensive migration capabilities
1 parent 912c354 commit 347d19a

4 files changed

Lines changed: 147 additions & 0 deletions

File tree

.github/plugin/marketplace.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,12 @@
124124
"description": "Comprehensive collection for building declarative agents with Model Context Protocol integration for Microsoft 365 Copilot",
125125
"version": "1.0.0"
126126
},
127+
{
128+
"name": "o2p-dbmigration",
129+
"source": "o2p-dbmigration",
130+
"description": "Oracle-to-PostgreSQL migration orchestrator for multi-project .NET solutions with comprehensive migration planning, code transformation, integration testing, and reporting capabilities.",
131+
"version": "1.0.0"
132+
},
127133
{
128134
"name": "openapi-to-application-csharp-dotnet",
129135
"source": "openapi-to-application-csharp-dotnet",

docs/README.plugins.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ Curated plugins of related prompts, agents, and skills organized around specific
3535
| [java-mcp-development](../plugins/java-mcp-development/README.md) | Complete toolkit for building Model Context Protocol servers in Java using the official MCP Java SDK with reactive streams and Spring Boot integration. | 2 items | java, mcp, model-context-protocol, server-development, sdk, reactive-streams, spring-boot, reactor |
3636
| [kotlin-mcp-development](../plugins/kotlin-mcp-development/README.md) | Complete toolkit for building Model Context Protocol (MCP) servers in Kotlin using the official io.modelcontextprotocol:kotlin-sdk library. Includes instructions for best practices, a prompt for generating servers, and an expert chat mode for guidance. | 2 items | kotlin, mcp, model-context-protocol, kotlin-multiplatform, server-development, ktor |
3737
| [mcp-m365-copilot](../plugins/mcp-m365-copilot/README.md) | Comprehensive collection for building declarative agents with Model Context Protocol integration for Microsoft 365 Copilot | 4 items | mcp, m365-copilot, declarative-agents, api-plugins, model-context-protocol, adaptive-cards |
38+
| [o2p-dbmigration](../plugins/o2p-dbmigration/README.md) | Oracle-to-PostgreSQL migration orchestrator for multi-project .NET solutions with comprehensive migration planning, code transformation, integration testing, and reporting capabilities. | 2 items | oracle, postgresql, database-migration, dotnet, sql, migration, integration-testing, stored-procedures |
3839
| [openapi-to-application-csharp-dotnet](../plugins/openapi-to-application-csharp-dotnet/README.md) | Generate production-ready .NET applications from OpenAPI specifications. Includes ASP.NET Core project scaffolding, controller generation, entity framework integration, and C# best practices. | 2 items | openapi, code-generation, api, csharp, dotnet, aspnet |
3940
| [openapi-to-application-go](../plugins/openapi-to-application-go/README.md) | Generate production-ready Go applications from OpenAPI specifications. Includes project scaffolding, handler generation, middleware setup, and Go best practices for REST APIs. | 2 items | openapi, code-generation, api, go, golang |
4041
| [openapi-to-application-java-spring-boot](../plugins/openapi-to-application-java-spring-boot/README.md) | Generate production-ready Spring Boot applications from OpenAPI specifications. Includes project scaffolding, REST controller generation, service layer organization, and Spring Boot best practices. | 2 items | openapi, code-generation, api, java, spring-boot |
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"name": "o2p-dbmigration",
3+
"description": "Oracle-to-PostgreSQL migration orchestrator for multi-project .NET solutions with comprehensive migration planning, code transformation, integration testing, and reporting capabilities.",
4+
"version": "1.0.0",
5+
"author": {
6+
"name": "Awesome Copilot Community"
7+
},
8+
"repository": "https://github.com/github/awesome-copilot",
9+
"license": "MIT",
10+
"keywords": [
11+
"oracle",
12+
"postgresql",
13+
"database-migration",
14+
"dotnet",
15+
"sql",
16+
"migration",
17+
"integration-testing",
18+
"stored-procedures"
19+
],
20+
"agents": [
21+
"./agents/o2p-dbmigration-expert.md"
22+
],
23+
"skills": [
24+
"./skills/o2p-dbmigration/"
25+
]
26+
}

plugins/o2p-dbmigration/README.md

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
# Oracle-to-PostgreSQL Database Migration Plugin
2+
3+
Oracle-to-PostgreSQL migration orchestrator for multi-project .NET solutions with comprehensive migration planning, code transformation, integration testing, and reporting capabilities.
4+
5+
## Installation
6+
7+
```bash
8+
# Using Copilot CLI
9+
copilot plugin install o2p-dbmigration@awesome-copilot
10+
```
11+
12+
## What's Included
13+
14+
### Agents
15+
16+
| Agent | Description |
17+
|-------|-------------|
18+
| `o2p-dbmigration-expert` | Oracle-to-PostgreSQL migration orchestrator for multi-project .NET solutions. Discovers migration-eligible projects, produces a persistent master plan for cross-session tracking, migrates application codebases and stored procedures, runs closed-loop integration testing, and generates migration reports. |
19+
20+
### Skills
21+
22+
| Skill | Description |
23+
|-------|-------------|
24+
| `o2p-dbmigration` | Validates PostgreSQL migration artifacts and integration tests, making sure every reference insight is surfaced before agent workflows sign off. Use when proving migration or integration testing work and confirming the repository references/insights are obeyed. |
25+
26+
## Features
27+
28+
### Multi-Project Application Migration
29+
30+
The agent handles multiple application projects sequentially, tracking progress across sessions using a persistent Master Migration Plan:
31+
32+
1. Discovers all migration-eligible projects in the solution
33+
2. For each project, performs:
34+
- Application codebase migration
35+
- Closed-loop integration testing workflow
36+
- Status tracking and progress updates
37+
3. Generates comprehensive migration reports
38+
39+
### Closed-Loop Integration Testing
40+
41+
Automated integration testing workflow for each migrated project:
42+
43+
```
44+
plan → scaffold → create tests → run → validate → [EXIT or LOOP]
45+
↑ │
46+
└──── fix ←── bugs ←──┘
47+
```
48+
49+
### Migration Components
50+
51+
- **Application Codebase Migration**: Migrates .NET code from Oracle to PostgreSQL
52+
- **Stored Procedure Migration**: Converts Oracle stored procedures, functions, and packages to PostgreSQL
53+
- **Integration Testing**: Creates and runs comprehensive integration tests
54+
- **Bug Tracking**: Generates bug reports for failed tests and tracks remediation
55+
- **Migration Reports**: Produces detailed migration outcome documentation
56+
57+
## Prerequisites
58+
59+
- Visual Studio Code with GitHub Copilot
60+
- PostgreSQL Extension (`ms-ossdata.vscode-pgsql`)
61+
- .NET solution with Oracle dependencies to migrate
62+
63+
## Directory Structure
64+
65+
The agent expects and creates the following structure in your solution:
66+
67+
```
68+
{SOLUTION_ROOT}/
69+
└── .github/
70+
└── o2p-dbmigration/
71+
├── Reports/
72+
│ ├── Master Migration Plan.md
73+
│ ├── Bug Reports/
74+
│ └── Migration Reports/
75+
├── DDL/
76+
│ ├── Oracle/ # Oracle DDL scripts (pre-migration)
77+
│ └── Postgres/ # PostgreSQL DDL scripts (post-migration)
78+
```
79+
80+
## Usage
81+
82+
1. **Start Migration**: Invoke the agent with your goal (e.g., "Migrate my solution from Oracle to PostgreSQL")
83+
2. **Master Plan**: The agent creates a master migration plan tracking all projects
84+
3. **Per-Project Migration**: Each project is migrated and tested sequentially
85+
4. **Review Reports**: Check the generated reports for migration status and any issues
86+
87+
## Key Capabilities
88+
89+
- **Cross-Session Tracking**: Resume interrupted migrations from where you left off
90+
- **Automated Testing**: Comprehensive integration tests generated and executed automatically
91+
- **Error Handling**: Detailed bug reports with remediation tracking
92+
- **DDL Management**: Preserves both Oracle and PostgreSQL DDL for reference
93+
- **Minimal Changes**: Keeps changes minimal, preserving application logic where possible
94+
95+
## Reference Materials
96+
97+
The included skill provides reference guides for common Oracle→PostgreSQL migration patterns:
98+
99+
- Empty strings handling ('' vs NULL)
100+
- NO_DATA_FOUND exceptions
101+
- Oracle parentheses in FROM clauses
102+
- Sorting and collation differences
103+
- TO_CHAR numeric conversions
104+
- Type coercion rules
105+
- REFCURSOR handling
106+
- Concurrent transactions
107+
108+
## Source
109+
110+
This plugin is part of [Awesome Copilot](https://github.com/github/awesome-copilot), a community-driven collection of GitHub Copilot extensions.
111+
112+
## License
113+
114+
MIT

0 commit comments

Comments
 (0)