You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

69 lines
3.7 KiB

CREATE TABLE `agent_message_feedback` (
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
`message_id` text NOT NULL,
`user_id` integer NOT NULL,
`feedback` text(10) NOT NULL,
`comment` text,
`created_at` integer DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer)) NOT NULL,
`updated_at` integer DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer)) NOT NULL,
FOREIGN KEY (`message_id`) REFERENCES `agent_messages`(`id`) ON UPDATE no action ON DELETE cascade,
FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON UPDATE no action ON DELETE cascade
);
--> statement-breakpoint
CREATE UNIQUE INDEX `idx_agent_feedback_message_user` ON `agent_message_feedback` (`message_id`,`user_id`);--> statement-breakpoint
CREATE TABLE `agent_messages` (
`id` text PRIMARY KEY NOT NULL,
`session_id` text NOT NULL,
`role` text(20) NOT NULL,
`content` text DEFAULT '' NOT NULL,
`parts` text,
`model_id` integer,
`input_tokens` integer,
`output_tokens` integer,
`sort_order` integer NOT NULL,
`created_at` integer DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer)) NOT NULL,
FOREIGN KEY (`session_id`) REFERENCES `agent_sessions`(`id`) ON UPDATE no action ON DELETE cascade
);
--> statement-breakpoint
CREATE INDEX `idx_agent_messages_session_sort` ON `agent_messages` (`session_id`,`sort_order`);--> statement-breakpoint
CREATE TABLE `agent_sessions` (
`id` text PRIMARY KEY NOT NULL,
`user_id` integer,
`temp_token` text(64),
`title` text(100) DEFAULT '新对话' NOT NULL,
`model_id` integer,
`enable_thinking` integer DEFAULT 1 NOT NULL,
`enable_tools` integer DEFAULT 1 NOT NULL,
`last_active_at` integer DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer)) NOT NULL,
`expires_at` integer,
`deleted_at` integer,
`created_at` integer DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer)) NOT NULL,
`updated_at` integer DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer)) NOT NULL,
FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON UPDATE no action ON DELETE cascade
);
--> statement-breakpoint
CREATE INDEX `idx_agent_sessions_user_deleted` ON `agent_sessions` (`user_id`,`deleted_at`);--> statement-breakpoint
CREATE INDEX `idx_agent_sessions_temp_token` ON `agent_sessions` (`temp_token`);--> statement-breakpoint
PRAGMA foreign_keys=OFF;--> statement-breakpoint
CREATE TABLE `__new_llm_providers` (
`id` integer PRIMARY KEY AUTOINCREMENT NOT NULL,
`user_id` integer,
`name` text(100) NOT NULL,
`slug` text(100) NOT NULL,
`base_url` text(500),
`parse_mode` text DEFAULT 'openai' NOT NULL,
`api_key` text,
`status` text DEFAULT 'active' NOT NULL,
`description` text,
`created_at` integer DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer)) NOT NULL,
`updated_at` integer DEFAULT (cast((julianday('now') - 2440587.5)*86400000 as integer)) NOT NULL,
FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON UPDATE no action ON DELETE cascade
);
--> statement-breakpoint
INSERT INTO `__new_llm_providers`("id", "user_id", "name", "slug", "base_url", "parse_mode", "api_key", "status", "description", "created_at", "updated_at") SELECT "id", "user_id", "name", "slug", "base_url", "parse_mode", "api_key", "status", "description", "created_at", "updated_at" FROM `llm_providers`;--> statement-breakpoint
DROP TABLE `llm_providers`;--> statement-breakpoint
ALTER TABLE `__new_llm_providers` RENAME TO `llm_providers`;--> statement-breakpoint
PRAGMA foreign_keys=ON;--> statement-breakpoint
CREATE UNIQUE INDEX `idx_llm_provider_user_slug` ON `llm_providers` (`user_id`,`slug`);--> statement-breakpoint
CREATE INDEX `idx_llm_provider_user` ON `llm_providers` (`user_id`);--> statement-breakpoint
CREATE INDEX `idx_llm_provider_status` ON `llm_providers` (`status`);