69 lines
2.5 KiB
SQL
69 lines
2.5 KiB
SQL
-- 迁移:引入车系/车型/检测任务/分析结果层级结构
|
|
-- 旧表保留不动(数据兼容),新表全部创建
|
|
|
|
-- 车系
|
|
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
|
|
);
|
|
|
|
-- 车型 CAD 文件(低频变更,一对多)
|
|
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
|
|
);
|