[
  {
    "type": "create_table",
    "description": "Create seller marketing blasts table",
    "database": "{{store}}",
    "check_query": "SHOW TABLES LIKE 'seller_marketing_blasts'",
    "sql": "CREATE TABLE `seller_marketing_blasts` (\n  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n  `name` varchar(255) NOT NULL COMMENT 'Display name for the blast',\n  `message_id` int(10) unsigned NOT NULL COMMENT 'References seller_marketing_messages.id',\n  `criteria` json NOT NULL COMMENT 'Customer selection criteria',\n  `scheduled_at` timestamp NOT NULL COMMENT 'When blast should be sent',\n  `created_at` timestamp NOT NULL DEFAULT current_timestamp(),\n  `started_at` timestamp NULL DEFAULT NULL COMMENT 'When blast processing started',\n  `completed_at` timestamp NULL DEFAULT NULL COMMENT 'When blast processing completed',\n  `status` enum('pending','processing','completed','failed','cancelled') NOT NULL DEFAULT 'pending' COMMENT 'Blast status',\n  `recipient_count` int(10) unsigned DEFAULT 0 COMMENT 'Number of recipients',\n  `sent_count` int(10) unsigned DEFAULT 0 COMMENT 'Number successfully sent',\n  `failed_count` int(10) unsigned DEFAULT 0 COMMENT 'Number failed to send',\n  `error_message` text DEFAULT NULL COMMENT 'Error details if failed',\n  `created_by` int(10) unsigned DEFAULT NULL COMMENT 'User ID who created blast',\n  PRIMARY KEY (`id`),\n  KEY `idx_status` (`status`),\n  KEY `idx_scheduled_at` (`scheduled_at`),\n  KEY `idx_message_id` (`message_id`),\n  KEY `idx_created_at` (`created_at`),\n  CONSTRAINT `fk_blast_message` FOREIGN KEY (`message_id`) REFERENCES `seller_marketing_messages` (`id`) ON DELETE CASCADE\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='One-time message blast configurations'"
  }
]