gabriel / musehub public

0066_snapshot_delta_columns.py file-level

at sha256:3 · View file ↗ · Intel ↗

History
1 files
1 commits
0 hotspots
0 🧊 dead
0 💥 blast risk
sha256:0 fix: fall back to any indexed mpack in read_object_bytes when push mpac… · gabriel · Jun 17, 2026
1 """Add parent_snapshot_id and delta_blob to musehub_snapshots.
2
3 Enables tip-to-tip object diffing in wire_fetch_mpack (new_oids = want_tip -
4 have_tip in O(files) rather than O(commits × files)) and delta-compressed
5 snapshot wire format (send only the delta, not the full manifest, per commit).
6 """
7
8 from __future__ import annotations
9
10 import sqlalchemy as sa
11 from alembic import op
12
13 revision = "0066"
14 down_revision = "0065"
15 branch_labels = None
16 depends_on = None
17
18
19 def upgrade() -> None:
20 op.add_column(
21 "musehub_snapshots",
22 sa.Column("parent_snapshot_id", sa.String(128), nullable=True),
23 )
24 op.add_column(
25 "musehub_snapshots",
26 sa.Column("delta_blob", sa.LargeBinary, nullable=True),
27 )
28
29
30 def downgrade() -> None:
31 op.drop_column("musehub_snapshots", "delta_blob")
32 op.drop_column("musehub_snapshots", "parent_snapshot_id")