mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-07-06 22:55:56 +08:00
Co-authored-by: SuYao <sy20010504@gmail.com> Co-authored-by: fullex <106392080+0xfullex@users.noreply.github.com> Signed-off-by: jdzhang <625013594@qq.com> Signed-off-by: zhangjiadi225 <625013594@qq.com>
61 lines
3.7 KiB
SQL
61 lines
3.7 KiB
SQL
PRAGMA foreign_keys=OFF;--> statement-breakpoint
|
|
CREATE TABLE `__new_agent_session` (
|
|
`id` text PRIMARY KEY NOT NULL,
|
|
`agent_id` text,
|
|
`name` text NOT NULL,
|
|
`description` text DEFAULT '' NOT NULL,
|
|
`workspace_id` text NOT NULL,
|
|
`order_key` text NOT NULL,
|
|
`created_at` integer NOT NULL,
|
|
`updated_at` integer NOT NULL,
|
|
FOREIGN KEY (`agent_id`) REFERENCES `agent`(`id`) ON UPDATE no action ON DELETE set null,
|
|
FOREIGN KEY (`workspace_id`) REFERENCES `agent_workspace`(`id`) ON UPDATE no action ON DELETE cascade
|
|
);
|
|
--> statement-breakpoint
|
|
INSERT INTO `__new_agent_session`("id", "agent_id", "name", "description", "workspace_id", "order_key", "created_at", "updated_at") SELECT "id", "agent_id", "name", "description", "workspace_id", "order_key", "created_at", "updated_at" FROM `agent_session`;--> statement-breakpoint
|
|
DROP TABLE `agent_session`;--> statement-breakpoint
|
|
ALTER TABLE `__new_agent_session` RENAME TO `agent_session`;--> statement-breakpoint
|
|
CREATE INDEX `agent_session_order_key_idx` ON `agent_session` (`order_key`);--> statement-breakpoint
|
|
CREATE TABLE `__new_agent_channel` (
|
|
`id` text PRIMARY KEY NOT NULL,
|
|
`type` text NOT NULL,
|
|
`name` text NOT NULL,
|
|
`agent_id` text,
|
|
`session_id` text,
|
|
`workspace` text NOT NULL,
|
|
`config` text NOT NULL,
|
|
`is_active` integer DEFAULT true NOT NULL,
|
|
`active_chat_ids` text DEFAULT '[]' NOT NULL,
|
|
`permission_mode` text,
|
|
`created_at` integer NOT NULL,
|
|
`updated_at` integer NOT NULL,
|
|
FOREIGN KEY (`agent_id`) REFERENCES `agent`(`id`) ON UPDATE no action ON DELETE set null,
|
|
FOREIGN KEY (`session_id`) REFERENCES `agent_session`(`id`) ON UPDATE no action ON DELETE set null,
|
|
CONSTRAINT "agent_channel_type_check" CHECK("__new_agent_channel"."type" IN ('telegram', 'feishu', 'qq', 'wechat', 'discord', 'slack')),
|
|
CONSTRAINT "agent_channel_permission_mode_check" CHECK("__new_agent_channel"."permission_mode" IS NULL OR "__new_agent_channel"."permission_mode" IN ('default', 'acceptEdits', 'bypassPermissions', 'plan'))
|
|
);
|
|
--> statement-breakpoint
|
|
INSERT INTO `__new_agent_channel`("id", "type", "name", "agent_id", "session_id", "workspace", "config", "is_active", "active_chat_ids", "permission_mode", "created_at", "updated_at") SELECT "id", "type", "name", "agent_id", "session_id", '{"type":"system"}', "config", "is_active", "active_chat_ids", "permission_mode", "created_at", "updated_at" FROM `agent_channel`;--> statement-breakpoint
|
|
DROP TABLE `agent_channel`;--> statement-breakpoint
|
|
ALTER TABLE `__new_agent_channel` RENAME TO `agent_channel`;--> statement-breakpoint
|
|
CREATE INDEX `agent_channel_agent_id_idx` ON `agent_channel` (`agent_id`);--> statement-breakpoint
|
|
CREATE INDEX `agent_channel_type_idx` ON `agent_channel` (`type`);--> statement-breakpoint
|
|
CREATE INDEX `agent_channel_session_id_idx` ON `agent_channel` (`session_id`);--> statement-breakpoint
|
|
CREATE TABLE `__new_agent_workspace` (
|
|
`id` text PRIMARY KEY NOT NULL,
|
|
`name` text NOT NULL,
|
|
`path` text NOT NULL,
|
|
`type` text NOT NULL,
|
|
`order_key` text NOT NULL,
|
|
`created_at` integer NOT NULL,
|
|
`updated_at` integer NOT NULL,
|
|
CONSTRAINT "agent_workspace_type_check" CHECK("__new_agent_workspace"."type" IN ('user', 'system'))
|
|
);
|
|
--> statement-breakpoint
|
|
INSERT INTO `__new_agent_workspace`("id", "name", "path", "type", "order_key", "created_at", "updated_at") SELECT "id", "name", "path", 'user', "order_key", "created_at", "updated_at" FROM `agent_workspace`;--> statement-breakpoint
|
|
DROP TABLE `agent_workspace`;--> statement-breakpoint
|
|
ALTER TABLE `__new_agent_workspace` RENAME TO `agent_workspace`;--> statement-breakpoint
|
|
CREATE UNIQUE INDEX `agent_workspace_path_unique_idx` ON `agent_workspace` (`path`);--> statement-breakpoint
|
|
CREATE INDEX `agent_workspace_order_key_idx` ON `agent_workspace` (`order_key`);--> statement-breakpoint
|
|
PRAGMA foreign_keys=ON;
|