225_backfill_codex_fingerprint_seed.sql 796 B

123456789101112131415161718192021
  1. -- Backfill system-managed Codex fingerprint seeds for enabled OpenAI OAuth accounts.
  2. -- Idempotent: valid canonical seeds are preserved on rerun.
  3. UPDATE accounts
  4. SET extra = jsonb_set(
  5. COALESCE(extra, '{}'::jsonb),
  6. '{codex_fingerprint_seed}',
  7. to_jsonb(gen_random_uuid()::text),
  8. true
  9. )
  10. WHERE deleted_at IS NULL
  11. AND platform = 'openai'
  12. AND type = 'oauth'
  13. AND COALESCE(extra->>'codex_fingerprint_mode', '') IN ('device', 'session', 'full')
  14. AND (
  15. extra->>'codex_fingerprint_seed' IS NULL
  16. OR btrim(extra->>'codex_fingerprint_seed') = ''
  17. OR NOT (
  18. extra->>'codex_fingerprint_seed' ~ '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$'
  19. AND extra->>'codex_fingerprint_seed' <> '00000000-0000-0000-0000-000000000000'
  20. )
  21. );