Codex R15: on an upgrade where the pre-index race already produced duplicate config.ring_id rows, CREATE UNIQUE INDEX would abort the migration. Now the migration first collapses duplicates (keep the earliest id per ring_id; the rest cascade-delete their entities/state) using portable subquery SQL that runs on Postgres (prod) and SQLite (tests) alike. Verified: 3 duplicates → 1 on Postgres, index then created; suite 43 green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| factories | ||
| migrations | ||
| seeders | ||
| .gitignore | ||