Skip to content

feat(db): add category column to cf_feedback#3

Open
AlahmadiQ8 wants to merge 1 commit into
mainfrom
feature/add-category
Open

feat(db): add category column to cf_feedback#3
AlahmadiQ8 wants to merge 1 commit into
mainfrom
feature/add-category

Conversation

@AlahmadiQ8

Copy link
Copy Markdown
Owner

Closes #1

Summary

Adds the requested category column to the customer feedback table so the
support team can route incoming feedback by topic.

Type of change

  • Database migration (data or constraint change)
  • Database schema (new table or column)
  • APEX application change
  • CI/CD workflow change
  • Documentation only

Deployment notes

  • Migration order: db/migrations/003_add_category.sql
  • APEX app changes: deferred -- this PR ships the schema only. The APEX form
    and report changes will be a follow-up PR after we confirm the column lands
    cleanly in DEV.
  • Requires PROD reviewer? Yes (any change with a CHECK constraint touches
    durable schema state).

Verification

  • validate.yml will run on this PR (static checks + deploy plan comment)
  • DEV deploy succeeds after merge -- check Actions tab
  • verify.sql confirms cf_feedback.category column exists

Rollback plan

Plain SQL migrations do not auto-rollback (DDL auto-commits). If a problem
surfaces in DEV after merge:

  1. Open a revert PR (git revert <merge-sha> + push + PR).
  2. Add a follow-up migration 004_drop_category.sql if necessary.
  3. Re-deploy DEV -> verify -> only then promote to PROD via Release.

Demo narrative

This PR is the centerpiece of the customer demo (see docs/DEMO_SCRIPT.md,
Act 2). It demonstrates the issue -> branch -> PR -> review -> merge -> deploy
flow end-to-end against a real Oracle Autonomous Database.

Closes #1

- New 003_add_category.sql migration adds a category VARCHAR2(50) column
  to cf_feedback with default 'General' and a CHECK constraint limiting
  values to: General, Product, Support, Billing, Other.
- Idempotent: catches ORA-01430 so reruns are safe.
- Existing rows automatically pick up the default ('General').
- install.sql updated to include the new migration in its ordered run.

The APEX page changes to surface the new column on the form and report
will follow once the schema migration is verified in DEV.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@AlahmadiQ8 AlahmadiQ8 force-pushed the feature/add-category branch from a874e78 to a5c1e83 Compare May 20, 2026 12:29
@github-actions

Copy link
Copy Markdown

🚀 Deploy plan for this PR

After merge to main, the deploy-dev job will run with environment development.
After a GitHub Release is published, the deploy-prod job will run with environment production (requires reviewer).

Files in this PR that affect deployment

db/install.sql
db/migrations/003_add_category.sql

Execution order (deploy.yml)

  1. Set up Java 17 (Temurin)
  2. Restore cached SQLcl (pinned version)
  3. Decode OCI_WALLET_B64wallet/chmod 600
  4. sql @scripts/deploy.sql → applies db/install.sql → migrations recorded in schema_migrations
  5. sql apex import -applicationid 100 -workspacename DEMO -file apex/f100.sql
  6. sql @scripts/verify.sql → smoke verification
  7. Wallet cleanup (if: always())

Static checks passed

  • ✅ Workflow YAML lints clean
  • ✅ All SQL entry points have WHENEVER SQLERROR EXIT
  • ✅ Migration numbering is sequential
  • ✅ No wallet/secret files in tree
  • ✅ No obvious hardcoded passwords

Static validation only — no database was contacted. Real schema/import errors will surface in deploy-dev after merge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add 'category' field to feedback form

1 participant