-- Explicit employee assignments for a case. A group is only a picker/context; -- each selected employee has a separate row. CREATE TABLE IF NOT EXISTS sag_case_assignees ( sag_id INTEGER NOT NULL REFERENCES sag_sager(id) ON DELETE CASCADE, user_id INTEGER NOT NULL REFERENCES users(user_id) ON DELETE CASCADE, assigned_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, assigned_by_user_id INTEGER REFERENCES users(user_id) ON DELETE SET NULL, PRIMARY KEY (sag_id, user_id) ); CREATE INDEX IF NOT EXISTS idx_sag_case_assignees_user ON sag_case_assignees(user_id, sag_id);