文件
tennis-training-hub/drizzle/0006_solid_vision_library.sql
2026-03-15 00:41:09 +08:00

44 行
1.5 KiB
SQL

CREATE TABLE `vision_reference_images` (
`id` int AUTO_INCREMENT NOT NULL,
`slug` varchar(128) NOT NULL,
`title` varchar(256) NOT NULL,
`exerciseType` varchar(64) NOT NULL,
`imageUrl` text NOT NULL,
`sourcePageUrl` text NOT NULL,
`sourceLabel` varchar(128) NOT NULL,
`author` varchar(128),
`license` varchar(128),
`expectedFocus` json,
`tags` json,
`notes` text,
`sortOrder` int NOT NULL DEFAULT 0,
`isPublished` int NOT NULL DEFAULT 1,
`createdAt` timestamp NOT NULL DEFAULT (now()),
`updatedAt` timestamp NOT NULL DEFAULT (now()) ON UPDATE CURRENT_TIMESTAMP,
CONSTRAINT `vision_reference_images_id` PRIMARY KEY(`id`),
CONSTRAINT `vision_reference_images_slug_unique` UNIQUE(`slug`)
);
--> statement-breakpoint
CREATE TABLE `vision_test_runs` (
`id` int AUTO_INCREMENT NOT NULL,
`taskId` varchar(64) NOT NULL,
`userId` int NOT NULL,
`referenceImageId` int,
`title` varchar(256) NOT NULL,
`exerciseType` varchar(64) NOT NULL,
`imageUrl` text NOT NULL,
`status` enum('queued','succeeded','failed') NOT NULL DEFAULT 'queued',
`visionStatus` enum('pending','ok','fallback','failed') NOT NULL DEFAULT 'pending',
`configuredModel` varchar(128),
`expectedFocus` json,
`summary` text,
`corrections` text,
`report` json,
`warning` text,
`error` text,
`createdAt` timestamp NOT NULL DEFAULT (now()),
`updatedAt` timestamp NOT NULL DEFAULT (now()) ON UPDATE CURRENT_TIMESTAMP,
CONSTRAINT `vision_test_runs_id` PRIMARY KEY(`id`),
CONSTRAINT `vision_test_runs_taskId_unique` UNIQUE(`taskId`)
);