-- Чистка легаси статусов SUPERSEDED/EXPIRED.
--
-- В старой модели вся будущая цепочка материализовалась в planned_plan как PLANNED-строки.
-- SUPERSEDED гасил будущие планы, выпавшие из пересчитанной цепочки (это делал ныне удалённый
-- RebuildPlanScheduleUseCase); EXPIRED помечал неизданный план, чьё окно прошло.
--
-- Новая модель «храним только выданное, будущее считаем на лету» проекцию в БД не пишет:
-- перекрывать (supersede) нечего, а неизданный просроченный план строкой никогда не был.
-- Оба статуса в коде больше не присваиваются (убраны из PlannedPlanStatus).
--
-- Эти строки — не выданная история, а легаси-бухгалтерия будущего, поэтому удаляем безвозвратно.
-- Выданная история (ISSUING/WAITING_DECISION/ACCEPTED/AWAITING_LAYIN/LAID_IN/REJECTED/
-- LAYIN_FAILED/NOT_ACCEPTED/START_AMBIGUOUS) не затрагивается.
DELETE FROM planned_plan
WHERE status IN ('SUPERSEDED', 'EXPIRED');

-- Столбец под supersede-флоу больше не используется (поле supersededByPlanId удалено из сущности).
ALTER TABLE planned_plan
    DROP COLUMN IF EXISTS superseded_by_plan_id;
