Files

61 lines
2.5 KiB
SQL

CREATE TABLE `character_prompt_reviews` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`project_id` BIGINT NOT NULL,
`task_id` BIGINT NULL,
`character_id` BIGINT NULL,
`global_character_id` BIGINT NULL,
`prompt_version_id` BIGINT NULL,
`layer_code` VARCHAR(80) NOT NULL,
`image_type` VARCHAR(80) NULL,
`review_round` INTEGER NOT NULL DEFAULT 1,
`review_mode` VARCHAR(80) NOT NULL DEFAULT 'api_preflight',
`prompt_engine_version` VARCHAR(80) NULL,
`threshold_score` DECIMAL(5, 2) NOT NULL DEFAULT 92.00,
`score` DECIMAL(5, 2) NULL,
`passed` BOOLEAN NOT NULL DEFAULT false,
`status` VARCHAR(50) NOT NULL DEFAULT 'pending',
`source_prompt` LONGTEXT NULL,
`optimized_prompt` LONGTEXT NULL,
`negative_prompt` LONGTEXT NULL,
`issues_json` JSON NULL,
`suggestions_json` JSON NULL,
`reusable_rules_json` JSON NULL,
`quality_gate_json` JSON NULL,
`provider_log_id` BIGINT NULL,
`provider_code` VARCHAR(100) NULL,
`model_name` VARCHAR(160) NULL,
`raw_text` LONGTEXT NULL,
`error_message` TEXT NULL,
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
PRIMARY KEY (`id`),
INDEX `cpr_project_created_idx` (`project_id`, `created_at`),
INDEX `cpr_task_idx` (`task_id`),
INDEX `cpr_character_layer_idx` (`character_id`, `layer_code`),
INDEX `cpr_global_layer_idx` (`global_character_id`, `layer_code`),
INDEX `cpr_prompt_version_idx` (`prompt_version_id`),
INDEX `cpr_layer_passed_idx` (`layer_code`, `passed`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE TABLE `character_prompt_optimization_lessons` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`scope_type` VARCHAR(50) NOT NULL DEFAULT 'global',
`layer_code` VARCHAR(80) NOT NULL,
`lesson_type` VARCHAR(80) NOT NULL DEFAULT 'prompt_rule',
`title` VARCHAR(160) NULL,
`rule_text` TEXT NOT NULL,
`prompt_engine_version` VARCHAR(80) NULL,
`source_review_id` BIGINT NULL,
`source_character_id` BIGINT NULL,
`source_prompt_version_id` BIGINT NULL,
`quality_score` DECIMAL(5, 2) NULL,
`usage_count` INTEGER NOT NULL DEFAULT 0,
`metadata_json` JSON NULL,
`status` VARCHAR(50) NOT NULL DEFAULT 'active',
`created_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
`updated_at` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3),
PRIMARY KEY (`id`),
INDEX `cpol_scope_layer_status_idx` (`scope_type`, `layer_code`, `status`),
INDEX `cpol_review_idx` (`source_review_id`),
INDEX `cpol_character_idx` (`source_character_id`)
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;