creating-oracle-to-postgres-migration-bug-report
Creating Bug Reports for Oracle-to-PostgreSQL Migration
When to Use
- Documenting a defect caused by behavioral differences between Oracle and PostgreSQL
- Writing or reviewing a bug report for an Oracle-to-PostgreSQL migration project
Bug Report Format
Use the template in references/BUG-REPORT-TEMPLATE.md. Each report must include:
- Status: ✅ RESOLVED, ⛔ UNRESOLVED, or ⏳ IN PROGRESS
- Component: Affected endpoint, repository, or stored procedure
- Test: Related automated test names
- Severity: Low / Medium / High / Critical — based on impact scope
- Problem: Expected Oracle behavior vs. observed PostgreSQL behavior
- Scenario: Ordered reproduction steps with seed data, operation, expected result, and actual result
- Root Cause: The specific Oracle/PostgreSQL behavioral difference causing the defect
- Solution: Changes made or required, with explicit file paths
- Validation: Steps to confirm the fix on both databases
Oracle-to-PostgreSQL Guidance
- Oracle is the source of truth — frame expected behavior from the Oracle baseline
- Call out data layer nuances explicitly: empty string vs. NULL, type coercion strictness, collation, sequence values, time zones, padding, constraints
- Client code changes should be avoided unless required for correct behavior; when proposed, document and justify them clearly
Writing Style
- Plain language, short sentences, clear next actions
- Present or past tense consistently
- Bullets and numbered lists for steps and validations
- Minimal SQL excerpts and logs as evidence; omit sensitive data and keep snippets reproducible
- Stick to existing runtime/language versions; avoid speculative fixes
Filename Convention
Save bug reports as BUG_REPORT_<DescriptiveSlug>.md where <DescriptiveSlug> is a short PascalCase identifier (e.g., EmptyStringNullHandling, RefCursorUnwrapFailure).
More from github/awesome-copilot
git-commit
Execute git commit with conventional commit message analysis, intelligent staging, and message generation. Use when user asks to commit changes, create a git commit, or mentions "/commit". Supports: (1) Auto-detecting type and scope from changes, (2) Generating conventional commit messages from diff, (3) Interactive commit with optional type/scope/description overrides, (4) Intelligent file staging for logical grouping
29.7Kgh-cli
GitHub CLI (gh) comprehensive reference for repositories, issues, pull requests, Actions, projects, releases, gists, codespaces, organizations, extensions, and all GitHub operations from the command line.
20.9Kprd
Generate high-quality Product Requirements Documents (PRDs) for software systems and AI-powered features. Includes executive summaries, user stories, technical specifications, and risk analysis.
17.2Kdocumentation-writer
Diátaxis Documentation Expert. An expert technical writer specializing in creating high-quality software documentation, guided by the principles and structure of the Diátaxis technical documentation authoring framework.
17.1Kexcalidraw-diagram-generator
Generate Excalidraw diagrams from natural language descriptions. Use when asked to "create a diagram", "make a flowchart", "visualize a process", "draw a system architecture", "create a mind map", or "generate an Excalidraw file". Supports flowcharts, relationship diagrams, mind maps, and system architecture diagrams. Outputs .excalidraw JSON files that can be opened directly in Excalidraw.
16.1Krefactor
Surgical code refactoring to improve maintainability without changing behavior. Covers extracting functions, renaming variables, breaking down god functions, improving type safety, eliminating code smells, and applying design patterns. Less drastic than repo-rebuilder; use for gradual improvements.
15.9K