[
  {
    "type": "create_table",
    "description": "Create userDeviceTokens table for Firebase Cloud Messaging push notifications",
    "database": "kiosk_users",
    "check_query": "SHOW TABLES LIKE 'userDeviceTokens'",
    "sql": "CREATE TABLE `userDeviceTokens` (\n  `tokenId` int(10) unsigned NOT NULL AUTO_INCREMENT,\n  `userId` int(10) unsigned NOT NULL COMMENT 'FK to users.id',\n  `platform` enum('ios','android') NOT NULL COMMENT 'Mobile platform',\n  `fcmToken` varchar(255) NOT NULL COMMENT 'Firebase Cloud Messaging token',\n  `deviceId` varchar(255) NULL COMMENT 'Unique device identifier',\n  `deviceName` varchar(100) NULL COMMENT 'Human-readable device name',\n  `appVersion` varchar(20) NULL COMMENT 'App version for compatibility tracking',\n  `createdAt` timestamp NOT NULL DEFAULT current_timestamp(),\n  `updatedAt` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(),\n  PRIMARY KEY (`tokenId`),\n  UNIQUE KEY `uk_fcmToken` (`fcmToken`),\n  KEY `idx_userId` (`userId`),\n  KEY `idx_deviceId` (`userId`, `deviceId`),\n  CONSTRAINT `fk_userDeviceTokens_user` FOREIGN KEY (`userId`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='FCM device tokens for push notifications'"
  }
]
