Skip to content
Skillpedia
Testing40k · #5359

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

Helps your agent create a test project for database migration. It prepares the structure to test Oracle to PostgreSQL migration in .NET.

What it does

This tool creates a basic structure for integration tests in a .NET project. It sets up an environment to test the connection to an Oracle database, ensuring tests don't permanently alter data.

When to use it

  • ✓Before you start writing integration tests for Oracle.
  • ✓When you need a template for managing test data.
  • ✓When setting up a project to migrate from Oracle to PostgreSQL.

Example of what to ask your AI

“Create an integration test project for my main project, configured for Oracle.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/github/awesome-copilot/blob/main/skills/scaffolding-oracle-to-postgres-migration-test-project/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/github/awesome-copilot/blob/main/skills/scaffolding-oracle-to-postgres-migration-test-project/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool creates a new test project that connects to the Oracle database. It also sets up a system to automatically start and undo transactions after each test, and a manager to load test data.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add github/awesome-copilot --skill scaffolding-oracle-to-postgres-migration-test-project

Or download just the file:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/scaffolding-oracle-to-postgres-migration-test-project/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

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.json configured 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.
FAQ

Why shouldn't I use this tool in Phase 6?

In Phase 6, you will migrate the existing test project to PostgreSQL. Copying and adapting the project created in Phase 3 is the correct method, not running this tool again.

What is 'seed data'?

'Seed data' is initial data that you load into the database so your tests can run. It's automatically removed after each test.

What is 'transaction-rollback'?

It's a way to ensure that changes made to the database during a test are automatically undone when the test finishes. This keeps your original data safe.

Details

Original description by the author

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.

repo: github/awesome-copilot

Popularity

GitHub stars
40k
Ranking position
#5359
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills