[
  {
    "type": "create_table",
    "description": "Create userPermissions table for direct user permissions",
    "database": "kiosk_users",
    "check_query": "SHOW TABLES LIKE 'userPermissions'",
    "sql": "CREATE TABLE `userPermissions` (\n  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n  `userId` int(10) unsigned NOT NULL COMMENT 'FK to users.id',\n  `hook` varchar(200) NOT NULL COMMENT 'Permission hook/key name',\n  `conditions` text DEFAULT NULL COMMENT 'Permission conditions (JSON)',\n  `createdAt` timestamp NOT NULL DEFAULT current_timestamp(),\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `uk_user_hook` (`userId`, `hook`),\n  KEY `idx_userId` (`userId`),\n  KEY `idx_hook` (`hook`),\n  CONSTRAINT `fk_userPermissions_user` FOREIGN KEY (`userId`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='Direct user permission assignments'"
  }
]
