Scaffolding Oracle To Postgres Migration Test Project
GitHubOfficialFirst committed by PrimedPaulDistributed by GitHub
- Skill
- Workflow
- Software development
- MIT
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
This skill provides a structured workflow to scaffold an xUnit integration test project specifically for Oracle-based .NET applications. It establishes the necessary infrastructure, including transaction-rollback base classes and seed data management, to ensure consistent test environments. Designed for use during the initial phases of a database migration project, it ensures that the test suite is ready for baseline testing before any migration to PostgreSQL occurs.
What it does
- Creates a new xUnit test project matching the target application's .NET version.
- Configures Oracle database connectivity via required NuGet packages.
- Implements a base test class that enforces transaction rollbacks after each test.
- Sets up a seed data manager to handle test data without committing changes.
- Ensures the project structure is ready for baseline integration testing.
- Verifies that the generated project compiles successfully.
When to use it
- Use during Phase 3 of a migration project to establish the Oracle baseline.
- Use when starting a new integration test suite for an existing .NET Oracle application.
- Use to ensure consistent test infrastructure before writing actual test cases.
Advantages
- Maintains version consistency by matching existing .NET and package versions.
- Prevents database pollution by enforcing transaction rollbacks.
- Provides a standardized foundation for all subsequent integration tests.
- Reduces manual setup time for complex test project configurations.
Usage examples
- “Scaffold the integration test project for my current Oracle-based .NET solution.”
- The agent creates an xUnit project, adds the necessary Oracle dependencies, sets up the transaction-rollback base class, and configures the seed data manager.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/github/scaffolding-oracle-to-postgres-migration-test-project/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip scaffolding-oracle-to-postgres-migration-test-project.zip -d .agents/skills
Documentation by PrimedPaul
Scaffolding an Integration Test Project for Oracle-to-PostgreSQL Migration
Creates a compilable, empty xUnit test project with transaction management and seed data infrastructure for a single target project. Run once per project before writing tests.
Workflow
Progress:
- [ ] Step 1: Inspect the target project
- [ ] Step 2: Create the xUnit test project
- [ ] Step 3: Implement transaction-rollback base class
- [ ] Step 4: Implement seed data manager
- [ ] Step 5: Verify the project compilesStep 1: Inspect the target project
Read the target project's .csproj to determine the .NET version and existing package references. Match these versions exactly — do not upgrade.
Step 2: Create the xUnit test project
Target the same .NET version as the application under test.
Add NuGet packages for Oracle database connectivity (
Oracle.ManagedDataAccess.Core) and xUnit.Add a project reference to the target project only — no other application projects.
Add an
appsettings.jsonconfigured for Oracle database connectivity.
Step 3: Implement transaction-rollback base class
Create a base test class that opens a transaction before each test and rolls it back after.
Catch and handle all exceptions to guarantee rollback.
Make the pattern inheritable by all downstream test classes.
Step 4: Implement seed data manager
Create a global seed manager for loading test data within the transaction scope.
Do not commit seed data — transactions roll back after each test.
Do not use
TRUNCATE TABLE— preserve existing database data.Establish a naming convention for seed file location that downstream test creation will follow.
Step 5: Verify the project compiles
Build the test project and confirm it compiles with zero errors before finishing.
Key Constraints
Phase 3 only — this skill scaffolds the Oracle-targeting test project. The PostgreSQL test project (Phase 6) is created by copying and migrating this project; do not run this skill again at that point.
Oracle is the golden behavior source — scaffold for Oracle only, not PostgreSQL.
Keep to existing .NET and C# versions; do not introduce newer language or runtime features.
Output is an empty test project with infrastructure only — no test cases.
Files
- ATTRIBUTION.mdAdded by AutoGineer943 B
- LICENSELicence file added by AutoGineer1.0 KiB
- SKILL.md2.7 KiB
Requirements and compatibility
Written for: GitHub Copilot
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- First committed by
PrimedPaul
- Publisher
- GitHub (Official)
- Distributed by
- GitHub
- Source
- github/awesome-copilot · skills/scaffolding-oracle-to-postgres-migration-test-project · commit 797337f
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
- Contributors
- PrimedPaul
AutoGineer is not affiliated with or endorsed by PrimedPaul or GitHub.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download scaffolding-oracle-to-postgres-migration-test-project.zip