scaffolding-oracle-to-postgres-migration-test-project

Scaffolds an xUnit integration test project with transaction rollback and seed data infrastructure for Oracle databases.

38.5k|4.9k|Updated Jun 11, 2025
One-click install
npx skills add https://github.com/github/awesome-copilot --skill scaffolding-oracle-to-postgres-migration-test-project
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: scaffolding-oracle-to-postgres-migration-test-project
Source: https://github.com/github/awesome-copilot/tree/main/skills/scaffolding-oracle-to-postgres-migration-test-project
Command: npx skills add https://github.com/github/awesome-copilot --skill scaffolding-oracle-to-postgres-migration-test-project

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Setting up integration test infrastructure for an Oracle-to-PostgreSQL migration is repetitive and error-prone: you must match .NET versions, configure Oracle connectivity, and build transaction-safe test scaffolding before writing a single baseline test. This Skill automates that setup so teams can capture Oracle's golden behavior consistently.

Core Features & Use Cases

  • Test Project Scaffolding: Creates a compilable xUnit test project targeting the same .NET version as the application under test, with Oracle.ManagedDataAccess.Core and a project reference.
  • Transaction-Rollback Base Class: Implements an inheritable base class that opens a transaction before each test and rolls it back after, guaranteeing no test data persists.
  • Seed Data Manager: Provides a global seed manager that loads test data within the transaction scope without committing or truncating existing tables.
  • Use Case: During Phase 3 of an Oracle-to-PostgreSQL migration, run this Skill once per application project to produce the Oracle baseline test project, then write integration tests against it before migrating to PostgreSQL in Phase 6.

Quick Start

Scaffold an Oracle integration test project for my OrderService .NET project so I can start writing baseline migration tests.

Frequently Asked Questions about scaffolding-oracle-to-postgres-migration-test-project

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create an xUnit integration test project for Oracle in .NET?

Create an xUnit project targeting the same .NET version as the application, add the Oracle.ManagedDataAccess.Core NuGet package, reference only the target project, and configure an appsettings.json for Oracle connectivity. This Skill automates all of these steps.

How to roll back database changes after each integration test?

Implement a base test class that opens a database transaction before each test and rolls it back afterward, catching all exceptions to guarantee rollback. All downstream test classes inherit this pattern so no test data is ever committed.

Should I use TRUNCATE TABLE to clean up test data in Oracle?

No. This approach avoids TRUNCATE TABLE entirely because it would destroy existing database data. Instead, seed data is loaded inside a transaction that rolls back after each test, leaving the database untouched.

When should I run this scaffolding skill during an Oracle-to-PostgreSQL migration?

Run it only during Phase 3, once per target project, before writing Oracle baseline integration tests. Do not run it in Phase 6 — the PostgreSQL test project is created by copying and migrating this project, not by scaffolding again.

Does the scaffolded test project include actual test cases?

No. The output is an empty, compilable test project containing only infrastructure: the transaction-rollback base class, seed data manager, and configuration. Test cases are written separately afterward.