- Shipped
- September 7, 2026 at 8:43 AM UTC
- Author
- Kamo
- Commit
- ff1af22
CONTACT_EFFECT_PROFILES holds the platform, org and member layers of the animation painted where a pointer touches the screen — the same shape, and for the same reasons, as EVENT_SOUND_PROFILES: one scope, the id that scope is about, and an opaque settings blob. A separate table rather than a KIND column on the sounds one. Sharing would mean widening a unique constraint that live rows already depend on, to save a migration that costs nothing, and the two documents have nothing in common but their layering. MANAGE_PLATFORM_CONTACT_EFFECTS gates the platform layer, exactly as MANAGE_PLATFORM_SOUNDS gates its own. Safe to append: right_type is @Enumerated(STRING) on a varchar(64), and the live platform_administrator_right table carries no CHECK constraint to be frozen at the old value set. The table is created by hand (ddl-auto is none), with no CHECK constraints of its own.