Create member_availability_window, retire the dated slot table

FeatureInitializerService
Shipped
August 25, 2026 at 8:22 PM UTC
Author
Kamo
Commit
1965f38

Creates member_availability_window, adds **************** and rebuilds webinar_child_org_restriction around the type plus an optional weekday. Drops webinar_availability_slot. The old rows are DROPPED rather than migrated, deliberately. A dated slot on a type does not carry the one fact the new table needs — which presenter it belonged to. A type with three presenters could have meant any of them, all of them, or a rota, and every way of guessing is wrong in a way nobody would notice: fan the row out to all three and the platform starts offering visitors times two of them never agreed to. Members re-declare their hours once instead. Restrictions are dropped before slots: the old restriction table holds a foreign key into the slot table, so the other order fails on the constraint. Enum columns are VARCHAR holding the enum NAME, never an ordinal — Hibernate freezes CHECK (col BETWEEN 0 AND N) at create time and never widens it, and removing a value from the middle silently relabels every row below it. Apply this BEFORE MediaService ships the entities that map these tables. KamoInitializerService has no CI, so that ordering is a deploy step.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing