Skip to content

Implement self ref fk ordering#322

Open
ozer550 wants to merge 9 commits intolearningequality:release-v0.9.xfrom
ozer550:implement-self-ref-fk-ordering
Open

Implement self ref fk ordering#322
ozer550 wants to merge 9 commits intolearningequality:release-v0.9.xfrom
ozer550:implement-self-ref-fk-ordering

Conversation

@ozer550
Copy link
Copy Markdown
Contributor

@ozer550 ozer550 commented Apr 29, 2026

Summary

Introduce deterministic ordering support for self-referential foreign key (FK) models during sync by adding a _self_ref_order field to Morango store records, allowing store/buffer rows to be processed parent-before-child in a streaming-friendly way. Adds a morango_ordering hook for syncable models so Morango can order querysets consistently (with nulls last), and adds a SELF_REF_ORDER capability to negotiate support between peers and preserve backwards compatibility.

TODO

  • Have tests been written for the new code?
  • Has documentation been written/updated?
  • New dependencies (if any) added to requirements file

Reviewer guidance

If you PR has a significant size, give the reviewer some helpful remarks

Issues addressed

closes #297

Documentation

If the PR has documentation, link the file here (either .rst in your repo or if built on Read The Docs)

@ozer550 ozer550 requested a review from bjester April 29, 2026 15:09
Comment thread morango/sync/stream/serialize.py Outdated
Comment thread morango/sync/stream/serialize.py
@ozer550 ozer550 force-pushed the implement-self-ref-fk-ordering branch from 59d644d to aff0bbc Compare May 6, 2026 10:08
@ozer550 ozer550 marked this pull request as ready for review May 6, 2026 10:08
@ozer550 ozer550 requested a review from bjester May 6, 2026 10:08
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.

Tracking Self-Referential FK Order

2 participants