{"id":"4cc2ba93-b468-4ca2-b165-20250d581a65","shortId":"vDKEuw","kind":"skill","title":"Scaffolding Oracle To Postgres Migration Test Project","tagline":"Awesome Copilot skill by Github","description":"# Scaffolding an Integration Test Project for Oracle-to-PostgreSQL Migration\n\nCreates 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.\n\n## Workflow\n\n```\nProgress:\n- [ ] Step 1: Inspect the target project\n- [ ] Step 2: Create the xUnit test project\n- [ ] Step 3: Implement transaction-rollback base class\n- [ ] Step 4: Implement seed data manager\n- [ ] Step 5: Verify the project compiles\n```\n\n**Step 1: Inspect the target project**\n\nRead the target project's `.csproj` to determine the .NET version and existing package references. Match these versions exactly — do not upgrade.\n\n**Step 2: Create the xUnit test project**\n\n- Target the same .NET version as the application under test.\n- Add NuGet packages for Oracle database connectivity and xUnit.\n- Add a project reference to the target project only — no other application projects.\n- Add an `appsettings.json` configured for Oracle database connectivity.\n\n**Step 3: Implement transaction-rollback base class**\n\n- Create a base test class that opens a transaction before each test and rolls it back after.\n- Catch and handle all exceptions to guarantee rollback.\n- Make the pattern inheritable by all downstream test classes.\n\n**Step 4: Implement seed data manager**\n\n- Create a global seed manager for loading test data within the transaction scope.\n- Do not commit seed data — transactions roll back after each test.\n- Do not use `TRUNCATE TABLE` — preserve existing database data.\n- Reuse existing seed files if available.\n- Establish a naming convention for seed file location that downstream test creation will follow.\n\n**Step 5: Verify the project compiles**\n\nBuild the test project and confirm it compiles with zero errors before finishing.\n\n## Key Constraints\n\n- Oracle is the golden behavior source — scaffold for Oracle first.\n- Keep to existing .NET and C# versions; do not introduce newer language or runtime features.\n- Output is an empty test project with infrastructure only — no test cases.","tags":["scaffolding","oracle","postgres","migration","test","project","awesome","copilot","github"],"capabilities":["skill","source-github","category-awesome-copilot"],"categories":["awesome-copilot"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/github/awesome-copilot/scaffolding-oracle-to-postgres-migration-test-project","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"install_from":"skills.sh"}},"qualityScore":"0.300","qualityRationale":"deterministic score 0.30 from registry signals: · indexed on skills.sh · published under github/awesome-copilot","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T05:40:31.249Z","embedding":null,"createdAt":"2026-04-18T20:30:52.859Z","updatedAt":"2026-04-22T05:40:31.249Z","lastSeenAt":"2026-04-22T05:40:31.249Z","tsv":"'1':53,86 '2':59,114 '3':66,161 '4':74,203 '5':80,262 'add':130,139,152 'applic':127,150 'appsettings.json':154 'avail':246 'awesom':8 'back':183,228 'base':71,166,170 'behavior':286 'build':267 'c':297 'case':318 'catch':185 'category-awesome-copilot' 'class':72,167,172,201 'commit':223 'compil':26,84,266,274 'configur':155 'confirm':272 'connect':136,159 'constraint':281 'convent':250 'copilot':9 'creat':24,60,115,168,208 'creation':258 'csproj':96 'data':36,77,206,216,225,240 'databas':135,158,239 'determin':98 'downstream':199,256 'empti':27,310 'error':277 'establish':247 'exact':109 'except':189 'exist':103,238,242,294 'featur':306 'file':244,253 'finish':279 'first':291 'follow':260 'github':12 'global':210 'golden':285 'guarante':191 'handl':187 'implement':67,75,162,204 'infrastructur':37,314 'inherit':196 'inspect':54,87 'integr':15 'introduc':301 'keep':292 'key':280 'languag':303 'load':214 'locat':254 'make':193 'manag':33,78,207,212 'match':106 'migrat':5,23 'name':249 'net':100,123,295 'newer':302 'nuget':131 'open':174 'oracl':2,20,134,157,282,290 'oracle-to-postgresql':19 'output':307 'packag':104,132 'pattern':195 'per':45 'postgr':4 'postgresql':22 'preserv':237 'progress':51 'project':7,17,30,42,46,57,64,83,90,94,119,141,146,151,265,270,312 'read':91 'refer':105,142 'reus':241 'roll':181,227 'rollback':70,165,192 'run':43 'runtim':305 'scaffold':1,13,288 'scope':220 'seed':35,76,205,211,224,243,252 'singl':40 'skill':10 'sourc':287 'source-github' 'step':52,58,65,73,79,85,113,160,202,261 'tabl':236 'target':41,56,89,93,120,145 'test':6,16,29,49,63,118,129,171,179,200,215,231,257,269,311,317 'transact':32,69,164,176,219,226 'transaction-rollback':68,163 'truncat':235 'upgrad':112 'use':234 'verifi':81,263 'version':101,108,124,298 'within':217 'workflow':50 'write':48 'xunit':28,62,117,138 'zero':276","prices":[{"id":"e5a96127-3415-4a4e-a14d-10e7726f4150","listingId":"4cc2ba93-b468-4ca2-b165-20250d581a65","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"github","category":"awesome-copilot","install_from":"skills.sh"},"createdAt":"2026-04-18T20:30:52.859Z"}],"sources":[{"listingId":"4cc2ba93-b468-4ca2-b165-20250d581a65","source":"github","sourceId":"github/awesome-copilot/scaffolding-oracle-to-postgres-migration-test-project","sourceUrl":"https://github.com/github/awesome-copilot/tree/main/skills/scaffolding-oracle-to-postgres-migration-test-project","isPrimary":false,"firstSeenAt":"2026-04-18T21:51:12.900Z","lastSeenAt":"2026-04-22T00:52:17.363Z"},{"listingId":"4cc2ba93-b468-4ca2-b165-20250d581a65","source":"skills_sh","sourceId":"github/awesome-copilot/scaffolding-oracle-to-postgres-migration-test-project","sourceUrl":"https://skills.sh/github/awesome-copilot/scaffolding-oracle-to-postgres-migration-test-project","isPrimary":true,"firstSeenAt":"2026-04-18T20:30:52.859Z","lastSeenAt":"2026-04-22T05:40:31.249Z"}],"details":{"listingId":"4cc2ba93-b468-4ca2-b165-20250d581a65","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"github","slug":"scaffolding-oracle-to-postgres-migration-test-project","source":"skills_sh","category":"awesome-copilot","skills_sh_url":"https://skills.sh/github/awesome-copilot/scaffolding-oracle-to-postgres-migration-test-project"},"updatedAt":"2026-04-22T05:40:31.249Z"}}