Skip to content

Drop property_setter.json fixture to stop migrate overwrites#191

Merged
shijoysrdhr merged 1 commit into
mainfrom
drop-property-setter-fixture
Apr 22, 2026
Merged

Drop property_setter.json fixture to stop migrate overwrites#191
shijoysrdhr merged 1 commit into
mainfrom
drop-property-setter-fixture

Conversation

@shijoysrdhr
Copy link
Copy Markdown
Collaborator

Summary

  • Removes calicut_textiles/fixtures/property_setter.json (781 entries, 12,498 lines) — a snapshot file that bench migrate was re-applying on every deploy, silently overwriting UI customizations (observed: Purchase Receipt field layout kept reverting after updates).
  • Commit 430ddd3 removed Property Setter from hooks.fixtures (stopping re-exports) but left the on-disk file. Frappe's import_fixtures() reads every .json in fixtures/ on migrate regardless of hooks.fixtures, so the stale snapshot kept being replayed.
  • Deleting the file closes this last override path. User-created Property Setters already live in the DB with is_system_generated=0 and persist on their own — no seeding needed.

Test plan

  • Local mirror of prod DB restored; bench migrate run with this branch.
  • SHA of Purchase Receipt-main-field_order (199 fields) and Purchase Receipt Item-main-field_order (155 fields) unchanged pre vs post-migrate.
  • modified timestamps on those Property Setters unchanged — migrate did not touch them.
  • Dev server (bench start) boots clean; Purchase Receipt form renders with expected custom layout.
  • Frappe Cloud deploy → verify Purchase Receipt layout persists through subsequent bench updates.

🤖 Generated with Claude Code

frappe/utils/fixtures.py:import_fixtures() loads every .json in
apps/<app>/fixtures/ on migrate, regardless of hooks.fixtures. The
earlier 430ddd3 removed Property Setter from hooks.fixtures (stopping
re-exports) but left this snapshot file on disk, so every bench update
still re-applied 781 stale rows — including Purchase Receipt field_order
— silently reverting any UI customization made after the last snapshot.

User-created Property Setters live in the DB with is_system_generated=0
and persist on their own; no seeding needed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@shijoysrdhr shijoysrdhr merged commit 7a7ac8a into main Apr 22, 2026
1 check failed
@shijoysrdhr shijoysrdhr deleted the drop-property-setter-fixture branch April 22, 2026 13:10
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.

1 participant