[
  {
    "type": "raw_sql",
    "description": "Drop the legacy cross-solver pending suggestion uniqueness index when it still exists",
    "database": "{{store}}",
    "check_query": "SELECT 1 WHERE NOT EXISTS (SELECT 1 FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'aiScheduleSuggestions' AND INDEX_NAME = 'idx_unique_pending_week')",
    "sql": "ALTER TABLE `aiScheduleSuggestions` DROP INDEX `idx_unique_pending_week`"
  },
  {
    "type": "raw_sql",
    "description": "Allow one pending AI and one pending math suggestion per week without cross-solver dismissal",
    "database": "{{store}}",
    "check_query": "SELECT 1 FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'aiScheduleSuggestions' AND INDEX_NAME = 'idx_unique_pending_week_solver' AND NON_UNIQUE = 0 GROUP BY INDEX_NAME HAVING GROUP_CONCAT(COLUMN_NAME ORDER BY SEQ_IN_INDEX) = 'pendingWeekStart,solverType'",
    "sql": "ALTER TABLE `aiScheduleSuggestions` ADD UNIQUE INDEX `idx_unique_pending_week_solver` (`pendingWeekStart`, `solverType`)"
  }
]
