fix(purge): resolve tag-rule joined tables via possible-value source #9

Closed
KofTwentyTwo wants to merge 1 commits from hotfix/tag-rule-pvs-table into develop
pull from: hotfix/tag-rule-pvs-table
KofTwentyTwo commented 2026-10-13 00:41:41 +00:00 (Migrated from github.com)

Problem

`TagRuleEngine` used a placeholder prefix as both the FK field name and the table name: `{blog.slug}` read `blogId` then GOT table `blog`. Apps with prefixed tables (kof22 `cms_blog`) silently lost those purge paths.

Fix

  • The joined table is resolved from `Id`'s possible-value source (table name for TABLE-type, or the PVS name when it names a table); fallback to the bare prefix keeps existing behaviour.
  • A missing joined table no longer skips silently: warn once per table per engine; a missing FK field/value is skipped without throwing.
  • README section on placeholders and CHANGELOG 0.1.1 entry.

Tests

Prefixed table via PVS, PVS-named-as-table, bare-prefix fallback, missing FK field, missing/dangling table. `CI=true ./mvnw verify`: 77 tests pass, checkstyle and coverage checks met.

🤖 Generated with Claude Code

## Problem \`TagRuleEngine\` used a placeholder prefix as both the FK field name and the table name: \`{blog.slug}\` read \`blogId\` then GOT table \`blog\`. Apps with prefixed tables (kof22 \`cms_blog\`) silently lost those purge paths. ## Fix - The joined table is resolved from \`<prefix>Id\`'s possible-value source (table name for TABLE-type, or the PVS name when it names a table); fallback to the bare prefix keeps existing behaviour. - A missing joined table no longer skips silently: warn once per table per engine; a missing FK field/value is skipped without throwing. - README section on placeholders and CHANGELOG 0.1.1 entry. ## Tests Prefixed table via PVS, PVS-named-as-table, bare-prefix fallback, missing FK field, missing/dangling table. \`CI=true ./mvnw verify\`: 77 tests pass, checkstyle and coverage checks met. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
KofTwentyTwo commented 2026-10-13 00:47:46 +00:00 (Migrated from github.com)

Superseded by the fix/tag-rule-pvs-table PR (same commit); the hotfix/* branch name triggers the publish workflow.

Superseded by the fix/tag-rule-pvs-table PR (same commit); the hotfix/* branch name triggers the publish workflow.

Pull request closed

This pull request cannot be reopened because the branch was deleted.
Sign in to join this conversation.