KamoCRM

The storage and the platform right for a three-layer contact-effect stack

Featurekamo-shared-library
Shipped
7 செப்டம்பர், 2026 அன்று 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.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing