[
  {
    "type": "alter_table",
    "description": "Fix fullPayload column type from LONGTEXT to JSON (Codex review)",
    "database": "{{store}}",
    "check_query": "SELECT DATA_TYPE FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'closeReports' AND COLUMN_NAME = 'fullPayload' AND DATA_TYPE = 'json'",
    "sql": "ALTER TABLE `closeReports` MODIFY COLUMN `fullPayload` json NOT NULL COMMENT 'Complete DRS JSON payload'"
  },
  {
    "type": "alter_table",
    "description": "Fix salesSummary column type from LONGTEXT to JSON (Codex review)",
    "database": "{{store}}",
    "check_query": "SELECT DATA_TYPE FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'closeReports' AND COLUMN_NAME = 'salesSummary' AND DATA_TYPE = 'json'",
    "sql": "ALTER TABLE `closeReports` MODIFY COLUMN `salesSummary` json DEFAULT NULL COMMENT 'Extracted sales metrics JSON'"
  },
  {
    "type": "alter_table",
    "description": "Fix buysData column type from LONGTEXT to JSON (Codex review)",
    "database": "{{store}}",
    "check_query": "SELECT DATA_TYPE FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'closeReports' AND COLUMN_NAME = 'buysData' AND DATA_TYPE = 'json'",
    "sql": "ALTER TABLE `closeReports` MODIFY COLUMN `buysData` json DEFAULT NULL COMMENT 'Buy statistics JSON'"
  },
  {
    "type": "alter_table",
    "description": "Fix returnsData column type from LONGTEXT to JSON (Codex review)",
    "database": "{{store}}",
    "check_query": "SELECT DATA_TYPE FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'closeReports' AND COLUMN_NAME = 'returnsData' AND DATA_TYPE = 'json'",
    "sql": "ALTER TABLE `closeReports` MODIFY COLUMN `returnsData` json DEFAULT NULL COMMENT 'Returns data JSON'"
  },
  {
    "type": "alter_table",
    "description": "Fix laborData column type from LONGTEXT to JSON (Codex review)",
    "database": "{{store}}",
    "check_query": "SELECT DATA_TYPE FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'closeReports' AND COLUMN_NAME = 'laborData' AND DATA_TYPE = 'json'",
    "sql": "ALTER TABLE `closeReports` MODIFY COLUMN `laborData` json DEFAULT NULL COMMENT 'Labor metrics JSON (if WiW)'"
  },
  {
    "type": "alter_table",
    "description": "Fix cashData column type from LONGTEXT to JSON (Codex review)",
    "database": "{{store}}",
    "check_query": "SELECT DATA_TYPE FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'closeReports' AND COLUMN_NAME = 'cashData' AND DATA_TYPE = 'json'",
    "sql": "ALTER TABLE `closeReports` MODIFY COLUMN `cashData` json DEFAULT NULL COMMENT 'Cash variance/alerts JSON'"
  },
  {
    "type": "alter_table",
    "description": "Fix checklistData column type from LONGTEXT to JSON (Codex review)",
    "database": "{{store}}",
    "check_query": "SELECT DATA_TYPE FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'closeReports' AND COLUMN_NAME = 'checklistData' AND DATA_TYPE = 'json'",
    "sql": "ALTER TABLE `closeReports` MODIFY COLUMN `checklistData` json DEFAULT NULL COMMENT 'Checklists with assignments JSON'"
  },
  {
    "type": "alter_table",
    "description": "Fix comparisons column type from LONGTEXT to JSON (Codex review)",
    "database": "{{store}}",
    "check_query": "SELECT DATA_TYPE FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'closeReports' AND COLUMN_NAME = 'comparisons' AND DATA_TYPE = 'json'",
    "sql": "ALTER TABLE `closeReports` MODIFY COLUMN `comparisons` json DEFAULT NULL COMMENT 'WTD/MTD YoY comparison data JSON'"
  },
  {
    "type": "alter_table",
    "description": "Fix updatedAt column to be NOT NULL with DEFAULT (Codex review)",
    "database": "{{store}}",
    "check_query": "SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'closeReports' AND COLUMN_NAME = 'updatedAt' AND IS_NULLABLE = 'NO' AND COLUMN_DEFAULT IS NOT NULL AND LOWER(EXTRA) LIKE '%on update current_timestamp%'",
    "sql": "ALTER TABLE `closeReports` MODIFY COLUMN `updatedAt` datetime NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()"
  }
]
