[
  {
    "type": "create_table",
    "description": "Create goalConfigAudit table for goal settings change history (Spec 046)",
    "database": "kiosk_buykiosk",
    "check_query": "SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'kiosk_buykiosk' AND TABLE_NAME = 'goalConfigAudit'",
    "sql": "CREATE TABLE `goalConfigAudit` (\n  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,\n  `storeId` INT UNSIGNED NOT NULL,\n  `typeNum` VARCHAR(10) NOT NULL,\n  `actorUserId` INT UNSIGNED NOT NULL COMMENT 'users.id who made the change',\n  `action` ENUM('create','update','method_switch') NOT NULL,\n  `changedFields` JSON DEFAULT NULL COMMENT 'Array of field names that changed',\n  `oldValueJson` JSON DEFAULT NULL COMMENT 'Previous values of changed fields',\n  `newValueJson` JSON DEFAULT NULL COMMENT 'New values of changed fields',\n  `configSnapshotJson` JSON NOT NULL COMMENT 'Full methodSettings at time of change',\n  `calculatedGoalForDate` JSON DEFAULT NULL COMMENT 'Goal computed for save date: {date, salesGoal, buysGoal}',\n  `occurredAt` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,\n  PRIMARY KEY (`id`),\n  KEY `idx_storeId_occurredAt` (`storeId`, `occurredAt` DESC),\n  KEY `idx_typeNum` (`typeNum`),\n  KEY `idx_actorUserId` (`actorUserId`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Audit trail for goal configuration changes (Spec 046)'"
  }
]
