homeos/database
HomeOS Bootstrap 68e2708ff6 fix(addons): merge duplicate Ring devices' entities instead of dropping (R15)
Codex R15: duplicate Ring rows from the pre-index race can own different
entities (one got battery, another motion); deleting the extras cascaded away
already-ingested state. The migration now MERGES — reparents each duplicate's
entities and their state onto the earliest row, keeping the survivor's copy on
a (device_id,key) collision — then removes the emptied duplicates.

Verified on Postgres: survivor keeps battery=90 and gains the reparented
motion entity (disjoint data preserved); suite 43 green on SQLite.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 02:07:50 +02:00
..
factories Phase 1: bootstrap — Docker stack, Laravel 13, design system, auth 2026-07-17 21:06:20 +02:00
migrations fix(addons): merge duplicate Ring devices' entities instead of dropping (R15) 2026-07-18 02:07:50 +02:00
seeders Fix R15: per-device MQTT ACLs, monotonic presence, real-device online semantics 2026-07-17 23:08:29 +02:00
.gitignore Phase 1: bootstrap — Docker stack, Laravel 13, design system, auth 2026-07-17 21:06:20 +02:00