Output Formats
pgfence supports five output formats today: terminal output, JSON, GitHub PR comment markdown, SARIF, and GitLab Code Quality JSON. The same --output values work for both pgfence analyze and pgfence trace.
Terminal (Default)
pgfence analyze migrations/*.sql JSON
pgfence analyze --output json migrations/*.sql The 0.8.0 JSON envelope is version 1.1. Each result includes detectedFormat after auto-detection resolves to sql, typeorm, prisma, knex, drizzle, sequelize, or kysely. When a run finds no statements, coverage.coveragePercent is null, coverage.analyzedNothing is true, and coverage.filesWithNoStatements lists the affected files.
GitHub PR Comment
--output github produces Markdown that you can post as a PR comment or upload as a workflow artifact.
pgfence analyze --output github migrations/*.sql > pgfence-report.md - name: Analyze migrations
run: npx @flvmnt/pgfence analyze --output github migrations/*.sql > pgfence-report.md
- name: Comment on PR
uses: marocchino/sticky-pull-request-comment@v2
with:
path: pgfence-report.md GitLab Code Quality
--output gitlab emits the JSON format GitLab expects for a codequality artifact.
pgfence analyze --output gitlab migrations/*.sql > gl-code-quality-report.json migration-safety:
script:
- npx @flvmnt/pgfence analyze --output gitlab migrations/*.sql > gl-code-quality-report.json
artifacts:
reports:
codequality: gl-code-quality-report.json SARIF (GitHub Code Scanning)
Output SARIF 2.1.0 to upload pgfence findings to GitHub Code Scanning as inline PR annotations.
pgfence analyze --output sarif migrations/*.sql > pgfence.sarif - name: Analyze migrations
run: npx @flvmnt/pgfence analyze --output sarif migrations/*.sql > pgfence.sarif
- name: Upload to GitHub Code Scanning
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: pgfence.sarif