-- 修复:若 0002 曾因错误的迁移过滤未真正建表,本文件再次执行 CREATE IF NOT EXISTS(幂等)。 -- 与 0002 内容相同,作为新迁移文件以便已标记 0002 完成的环境补建表。 CREATE TABLE IF NOT EXISTS `vehicle_series` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `name` VARCHAR(100) NOT NULL, `description` TEXT, `createdAt` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `updatedAt` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS `vehicle_models` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `seriesId` INT NOT NULL, `name` VARCHAR(100) NOT NULL, `description` TEXT, `createdAt` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `updatedAt` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS `model_cad_files` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `modelId` INT NOT NULL, `name` VARCHAR(255) NOT NULL, `format` VARCHAR(32) NOT NULL, `fileSize` BIGINT NOT NULL, `filePath` VARCHAR(512) NOT NULL, `createdAt` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS `inspection_tasks` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `modelId` INT NOT NULL, `name` VARCHAR(255) NOT NULL, `inspector` VARCHAR(100), `notes` TEXT, `status` ENUM('pending','processing','completed','error') NOT NULL DEFAULT 'pending', `createdAt` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `updatedAt` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `completedAt` TIMESTAMP NULL ); CREATE TABLE IF NOT EXISTS `task_pointcloud_files` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `taskId` INT NOT NULL, `name` VARCHAR(255) NOT NULL, `fileSize` BIGINT NOT NULL, `filePath` VARCHAR(512) NOT NULL, `createdAt` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS `task_analysis_results` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `taskId` INT NOT NULL, `type` ENUM('error_analysis','measurement','compression') NOT NULL, `status` ENUM('pending','processing','completed','error') NOT NULL DEFAULT 'pending', `errorStats` JSON, `measurements` JSON, `resultData` JSON, `createdAt` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `updatedAt` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP );