PUT /api/v1/report/{id} with {"database": N} on a Report-type schedule
returned 500 instead of a validation error. The POST schema had this
check but the PUT path lacked it.
- Add ReportScheduleDatabaseNotAllowedValidationError exception
- Add command-level validation in UpdateReportScheduleCommand enforcing
both invariants: Reports must not have a database, Alerts must have one
- Add allow_none=True on ReportSchedulePutSchema.database to allow
clearing via PUT (consistent with dashboard field)
- Use explicit null check (database_id is not None) for DB existence
validation to handle edge cases
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>