Skip to content

ci(release): skip delta production when DB schema changes#87

Open
kdroidFilter wants to merge 1 commit into
masterfrom
fix/skip-delta-on-schema-change
Open

ci(release): skip delta production when DB schema changes#87
kdroidFilter wants to merge 1 commit into
masterfrom
fix/skip-delta-on-schema-change

Conversation

@kdroidFilter

@kdroidFilter kdroidFilter commented Jun 26, 2026

Copy link
Copy Markdown
Owner

Summary

  • A delta patch can only carry data (upserts/deletes), not schema migrations. When the prev and new seforim.db have different table/index DDL, the producer fails or produces a hash-mismatch.
  • The patch-fan step now compares the prev vs new schema (sqlite_master DDL) before invoking the producer, and skips that offset on any difference.
  • Clients on the affected version simply fall back to the full bundle — the manifest's native behavior when no covering delta exists.
  • Stable IDs are untouched (the "Seed allocator" step runs regardless).

Net effect:

  • schema changed → full re-download, no delta
  • schema unchanged → delta as before
  • CI never fails on a schema change, and no migration logic is needed in the producer

This makes the ADD COLUMN migration approach (PR #84) unnecessary.

A delta patch carries only data (upserts/deletes), not schema migrations.
When prev and new seforim.db have different table/index DDL, producing a
patch fails or mismatches. Compare the schemas in the patch-fan step and
skip that offset on any difference — clients on the affected version fall
back to the full bundle (the manifest's native behavior when no covering
delta exists). Keeps CI green across schema changes without adding any
migration logic to the producer.
@kdroidFilter kdroidFilter mentioned this pull request Jun 26, 2026
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