[
  {
    "type": "create_table",
    "description": "Create replenishmentTasks table - links workbook tasks to bins and categories for replenishment workflow",
    "database": "{{store}}",
    "check_query": "SHOW TABLES LIKE 'replenishmentTasks'",
    "sql": "CREATE TABLE `replenishmentTasks` (\n  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,\n  `taskCompletionId` INT UNSIGNED NULL COMMENT 'FK to workbook_task_completions.id',\n  `binId` INT NOT NULL COMMENT 'FK to bsBins.id',\n  `subcategoryCode` VARCHAR(10) NOT NULL COMMENT 'POS subcategory being replenished',\n  `socketId` INT UNSIGNED NULL COMMENT 'FK to fpRackSockets.id - destination zone (optional)',\n  `status` ENUM('pending', 'in_progress', 'completed', 'cancelled') NOT NULL DEFAULT 'pending',\n  `createdAt` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,\n  `completedAt` TIMESTAMP NULL,\n  `completedBy` INT UNSIGNED NULL COMMENT 'FK to kiosk_users.users.id (no FK constraint in store DB)',\n  `notes` TEXT NULL,\n  PRIMARY KEY (`id`),\n  INDEX `idx_taskCompletionId` (`taskCompletionId`),\n  INDEX `idx_binId` (`binId`),\n  INDEX `idx_subcategoryCode` (`subcategoryCode`),\n  INDEX `idx_socketId` (`socketId`),\n  INDEX `idx_status` (`status`),\n  INDEX `idx_completedBy` (`completedBy`),\n  CONSTRAINT `fk_replenishmentTasks_binId` FOREIGN KEY (`binId`) REFERENCES `bsBins`(`id`) ON DELETE CASCADE,\n  CONSTRAINT `fk_replenishmentTasks_socketId` FOREIGN KEY (`socketId`) REFERENCES `fpRackSockets`(`id`) ON DELETE SET NULL\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Links workbook tasks to bins and categories for replenishment'"
  }
]
