All skills
github avatar

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

@f7e8aaa official
by githubgithub/awesome-copilot40k stars
5,040

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.

Use this Skill: https://skilld.dev/gh/github/awesome-copilot/scaffolding-oracle-to-postgres-migration-test-project

This session only. Nothing lands on disk.

SKILL.md

≈106 tokens always: the name and description. ≈577 when used: this file.

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.

Source: SKILL.md on GitHub

No alerts16d5 checks · Risk SAFE
  • Gen Agent Trust Hub16d

    This skill scaffolds a .NET integration test project for Oracle databases. It involves reading existing project files, creating new C# source files, and building the project. The main security consideration is the processing of external project files which could theoretically contain instructions to influence the agent's actions.

  • Socket16d

    No alerts

  • Snyk16d

    Risk: LOW · No issues

  • Runlayer6mo

    1 file scanned · No issues

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at f7e8aaa. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 2 months ago

README badge

README badge for github/awesome-copilot/scaffolding-oracle-to-postgres-migration-test-project

Scaffolds a compilable xUnit integration test project for validating Oracle-to-PostgreSQL database migrations in .NET, including transaction-rollback base class and seed data manager. Targets .NET projects migrating from Oracle to Postgres and creates the test infrastructure once per project before writing actual migration tests.

Generated from the current SKILL.md.

Does this skill set up tests for both Oracle and PostgreSQL, or just Oracle?
It scaffolds the test project infrastructure for Oracle first. The skill creates the xUnit test project, transaction-rollback base class, and seed data manager — all configured for Oracle connectivity. PostgreSQL validation tests are written separately after the infrastructure is in place.
What .NET versions does this support?
It matches the .NET version of the target project being tested. The skill reads the target project's .csproj and creates the test project with the same version — it does not upgrade or change versions.
Will this skill truncate or drop existing database tables?
No. The skill explicitly avoids TRUNCATE TABLE and preserves existing database data. Each test runs in a transaction that rolls back after completion, leaving the database unchanged.
Does this create actual test cases, or just the project structure?
Just the project structure and infrastructure. The skill outputs an empty, compilable test project with a transaction-rollback base class and seed data manager — you write the test cases afterward.

Generated from the current SKILL.md. These answers refresh after source changes.