Files
codex/codex-rs/state/migrations/0047_rollout_migration_state.sql
Owen Lin 4bb7ee3472 Add rollout migration tooling and background migration (#37348)
## What changed

- Add `codex migrate-rollouts` with dry-run inspection by default, explicit `--apply`, thread filtering, optional I/O throttling, progress output, and JSON or verbose reports.
- Add the disabled-by-default `background_paginated_rollout_migration` feature to migrate legacy local sessions at startup before rollout compression begins.
- Persist a migration cursor and skipped-file fingerprints so later startups avoid full rescans while retrying changed files and recovering pending migrations.
- Coordinate migration with live writers and emit metrics for manual and startup runs.

## Testing

- Cover startup cursor advancement and lookback, pending migration recovery, live-writer coordination, changed empty rollouts, and progress reporting.

GitOrigin-RevId: 276ac506c50ebec5140fd319faca1bb998172061
2026-08-07 01:26:42 +00:00

17 lines
499 B
SQL

CREATE TABLE rollout_migration_state (
migration_id TEXT PRIMARY KEY,
last_checked_thread_created_at INTEGER,
last_checked_thread_id TEXT,
updated_at INTEGER NOT NULL
);
CREATE TABLE rollout_migration_skipped_rollouts (
migration_id TEXT NOT NULL,
rollout_path TEXT NOT NULL,
rollout_size_bytes INTEGER NOT NULL,
rollout_modified_at_ns INTEGER NOT NULL,
skip_reason TEXT NOT NULL,
skipped_at INTEGER NOT NULL,
PRIMARY KEY (migration_id, rollout_path)
);