scaffolding-oracle-to-postgres-migration-test-project
github/awesome-copilot
Scaffold xUnit integration test infrastructure for Oracle-to-PostgreSQL migration projects in .NET.
What is scaffolding-oracle-to-postgres-migration-test-project?
Creates a compilable xUnit test project with transaction-rollback base class and seed data manager for Oracle databases. Use this during Phase 3 to establish test infrastructure before writing baseline integration tests; do not re-run during Phase 6 when the PostgreSQL test project is created by migrating this scaffolded project.
- Creates an xUnit test project matching the target application's .NET version
- Adds Oracle database connectivity packages (Oracle.ManagedDataAccess.Core) and configures appsettings.json
- Implements a transaction-rollback base class that rolls back after each test to preserve database state
- Provides a seed data manager for loading test data within transaction scope without committing
- Establishes naming conventions for seed file location for downstream test creation
How to install scaffolding-oracle-to-postgres-migration-test-project
npx skills add https://github.com/github/awesome-copilot --skill scaffolding-oracle-to-postgres-migration-test-project- A .NET solution with a target project to test against
- Access to an Oracle database for test execution
- NuGet package management configured in the development environment
How to use scaffolding-oracle-to-postgres-migration-test-project
- 1.Run the skill and specify the target project to test
- 2.Review the generated test project's .csproj to confirm .NET version and package versions match the target
- 3.Verify appsettings.json is configured with correct Oracle connection details
- 4.Inspect the transaction-rollback base class and seed data manager implementations
- 5.Build the test project and confirm zero compilation errors before proceeding to write test cases
Use cases
- Setting up test infrastructure before writing Oracle baseline integration tests in Phase 3
- Establishing transaction management patterns that will be migrated to PostgreSQL in Phase 6
- Creating a reusable test harness for multiple test classes targeting the same Oracle database
- Ensuring test data isolation without modifying production or persistent test data
- Preparing a compilable, empty test project as the foundation for a database migration validation suite
- Database migration engineers working on Oracle-to-PostgreSQL transitions
- QA engineers writing integration tests for .NET applications
- Development teams validating database compatibility across platforms
- Teams following a structured migration workflow with distinct phases
scaffolding-oracle-to-postgres-migration-test-project FAQ
Run this skill only during Phase 3, before writing Oracle baseline integration tests. Do not re-run during Phase 6; the PostgreSQL test project is created by migrating this scaffolded project, not by running this skill again.
The test project targets the same .NET version as the application under test. The skill reads the target project's .csproj and matches versions exactly without upgrading.
No. The transaction-rollback base class rolls back all changes after each test, including seed data. Existing database data is preserved and not truncated.
No. This skill scaffolds Oracle-targeting test infrastructure only. The PostgreSQL test project is created in Phase 6 by copying and migrating this Oracle project.
The skill includes a verification step to build and confirm zero compilation errors before finishing. If compilation fails, review the generated code and appsettings.json configuration.
Full instructions (SKILL.md)
Source of truth, from github/awesome-copilot.
name: scaffolding-oracle-to-postgres-migration-test-project description: 'Scaffolds an xUnit integration test project targeting Oracle in .NET solutions. Creates the test project, transaction-rollback base class, and seed data manager. Use only during Phase 3, before writing Oracle baseline integration tests. Do not invoke during Phase 6 — the PostgreSQL test project is produced by migrating this project, not by running this skill again.'
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 compiles
Step 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.
Related skills
More from github/awesome-copilot and the wider catalog.

scoutqa-test
AI-powered exploratory testing for web applications with autonomous bug discovery and accessibility audits

secret-scanning
Configure GitHub secret scanning, push protection, and custom patterns to detect and prevent credential leaks.

security-review
AI-powered security scanner that reasons about code like a researcher, catching vulnerabilities pattern-matching tools miss.

semantic-kernel
Create, update, and review Semantic Kernel solutions with language-specific guidance for .NET and Python.

shuffle-json-data
Safely shuffle JSON objects by validating schema consistency before randomizing entries.

snowflake-semanticview
Create, alter, and validate Snowflake semantic views using Snowflake CLI with built-in validation workflow.