Files
qihuaiflow/migrations/007_evolution_tables.sql
T

79 lines
2.9 KiB
SQL

-- AI自进化引擎 数据库表
-- Qihu-AIFlow v1.0.0
-- 用户进化配置表
CREATE TABLE IF NOT EXISTS `user_evolution_config` (
`id` VARCHAR(36) NOT NULL PRIMARY KEY,
`user_id` VARCHAR(36) NOT NULL UNIQUE,
`skill_dir_path` VARCHAR(500),
`trajectory_dir_path` VARCHAR(500),
`watcher_status` VARCHAR(20) DEFAULT 'stopped',
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
`updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX `idx_uec_user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- 用户技能表
CREATE TABLE IF NOT EXISTS `evolution_skills` (
`id` VARCHAR(36) NOT NULL PRIMARY KEY,
`user_id` VARCHAR(36) NOT NULL,
`skill_name` VARCHAR(200) NOT NULL,
`description` TEXT,
`tags` JSON,
`category` VARCHAR(100),
`state` VARCHAR(20) DEFAULT 'baby',
`use_count` INT DEFAULT 0,
`version` INT DEFAULT 1,
`skill_md_path` VARCHAR(500),
`git_commit_sha` VARCHAR(40),
`last_used_at` DATETIME,
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
`updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX `idx_es_user_id` (`user_id`),
INDEX `idx_es_skill_name` (`skill_name`),
INDEX `idx_es_state` (`state`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- 技能进化事件表
CREATE TABLE IF NOT EXISTS `evolution_events` (
`id` VARCHAR(36) NOT NULL PRIMARY KEY,
`user_id` VARCHAR(36) NOT NULL,
`skill_name` VARCHAR(200) NOT NULL,
`event_type` VARCHAR(50) NOT NULL,
`description` TEXT,
`version_before` INT,
`version_after` INT,
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
INDEX `idx_ee_user_id` (`user_id`),
INDEX `idx_ee_event_type` (`event_type`),
INDEX `idx_ee_created_at` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- 进化轨迹表
CREATE TABLE IF NOT EXISTS `evolution_trajectories` (
`id` VARCHAR(36) NOT NULL PRIMARY KEY,
`user_id` VARCHAR(36) NOT NULL,
`conversation_id` VARCHAR(36),
`file_path` VARCHAR(500),
`status` VARCHAR(20) DEFAULT 'discovered',
`atom_count` INT DEFAULT 0,
`token_used` INT DEFAULT 0,
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
`processed_at` DATETIME,
INDEX `idx_et_user_id` (`user_id`),
INDEX `idx_et_status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- 技能-轨迹关联表 (PRD 7.3.1)
CREATE TABLE IF NOT EXISTS `skill_trajectory_links` (
`id` VARCHAR(36) NOT NULL PRIMARY KEY,
`skill_name` VARCHAR(200) NOT NULL,
`user_id` VARCHAR(36) NOT NULL,
`trajectory_id` VARCHAR(36),
`atom_id` VARCHAR(128),
`weightscore` INT DEFAULT 0,
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
INDEX `idx_stl_user_skill` (`user_id`, `skill_name`),
INDEX `idx_stl_trajectory_id` (`trajectory_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;