diff --git a/packages/db/migrations/mysql/0044_add_assistant.sql b/packages/db/migrations/mysql/0047_add_assistant_tables.sql similarity index 59% rename from packages/db/migrations/mysql/0044_add_assistant.sql rename to packages/db/migrations/mysql/0047_add_assistant_tables.sql index 46315c4aa..2f04caba9 100644 --- a/packages/db/migrations/mysql/0044_add_assistant.sql +++ b/packages/db/migrations/mysql/0047_add_assistant_tables.sql @@ -1,40 +1,38 @@ CREATE TABLE `assistant_configuration` ( - `id` varchar(64) DEFAULT 'default' NOT NULL, - `enabled` boolean DEFAULT false NOT NULL, - `provider` varchar(32) DEFAULT 'openrouter' NOT NULL, - `base_url` varchar(2048) DEFAULT 'https://openrouter.ai/api/v1' NOT NULL, + `id` varchar(64) NOT NULL DEFAULT 'default', + `enabled` boolean NOT NULL DEFAULT false, + `web_search_enabled` boolean NOT NULL DEFAULT false, + `provider` varchar(32) NOT NULL DEFAULT 'openrouter', + `base_url` varchar(2048) NOT NULL DEFAULT 'https://openrouter.ai/api/v1', `model_discovery_path` varchar(512) DEFAULT '/models', `encrypted_api_key` text, `encrypted_headers` text, `model_id` varchar(256), - `updated_at` timestamp DEFAULT (now()) NOT NULL, + `updated_at` timestamp NOT NULL DEFAULT (now()), CONSTRAINT `assistant_configuration_id` PRIMARY KEY(`id`) ); --> statement-breakpoint +CREATE TABLE `assistant_message` ( + `id` varchar(128) NOT NULL, + `thread_id` varchar(64) NOT NULL, + `parent_id` varchar(128), + `format` varchar(64) NOT NULL DEFAULT 'ai-sdk/v6', + `content` mediumtext NOT NULL, + `created_at` timestamp NOT NULL DEFAULT (now()), + CONSTRAINT `assistant_message_id` PRIMARY KEY(`id`) +); +--> statement-breakpoint CREATE TABLE `assistant_thread` ( `id` varchar(64) NOT NULL, `user_id` varchar(64) NOT NULL, `title` varchar(256), `model_id` varchar(256), - `created_at` timestamp DEFAULT (now()) NOT NULL, - `updated_at` timestamp DEFAULT (now()) NOT NULL, + `created_at` timestamp NOT NULL DEFAULT (now()), + `updated_at` timestamp NOT NULL DEFAULT (now()), CONSTRAINT `assistant_thread_id` PRIMARY KEY(`id`) ); --> statement-breakpoint -CREATE TABLE `assistant_message` ( - `id` varchar(128) NOT NULL, - `thread_id` varchar(64) NOT NULL, - `parent_id` varchar(128), - `format` varchar(64) DEFAULT 'ai-sdk/v6' NOT NULL, - `content` mediumtext DEFAULT ('{"json": {}}') NOT NULL, - `created_at` timestamp DEFAULT (now()) NOT NULL, - CONSTRAINT `assistant_message_id` PRIMARY KEY(`id`) -); ---> statement-breakpoint -ALTER TABLE `assistant_thread` ADD CONSTRAINT `assistant_thread_user_id_user_id_fk` FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON DELETE cascade ON UPDATE no action; ---> statement-breakpoint -ALTER TABLE `assistant_message` ADD CONSTRAINT `assistant_message_thread_id_assistant_thread_id_fk` FOREIGN KEY (`thread_id`) REFERENCES `assistant_thread`(`id`) ON DELETE cascade ON UPDATE no action; ---> statement-breakpoint -CREATE INDEX `assistant_message__thread_id_created_at_idx` ON `assistant_message` (`thread_id`,`created_at`); ---> statement-breakpoint -CREATE INDEX `assistant_thread__user_id_updated_at_idx` ON `assistant_thread` (`user_id`,`updated_at`); +ALTER TABLE `assistant_message` ADD CONSTRAINT `assistant_message_thread_id_assistant_thread_id_fk` FOREIGN KEY (`thread_id`) REFERENCES `assistant_thread`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint +ALTER TABLE `assistant_thread` ADD CONSTRAINT `assistant_thread_user_id_user_id_fk` FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON DELETE cascade ON UPDATE no action;--> statement-breakpoint +CREATE INDEX `assistant_message__thread_id_created_at_idx` ON `assistant_message` (`thread_id`,`created_at`);--> statement-breakpoint +CREATE INDEX `assistant_thread__user_id_updated_at_idx` ON `assistant_thread` (`user_id`,`updated_at`); \ No newline at end of file diff --git a/packages/db/migrations/mysql/meta/_journal.json b/packages/db/migrations/mysql/meta/_journal.json index 1aa548179..2a3fa36d5 100644 --- a/packages/db/migrations/mysql/meta/_journal.json +++ b/packages/db/migrations/mysql/meta/_journal.json @@ -337,13 +337,6 @@ "when": 1786217088950, "tag": "0047_add_assistant_tables", "breakpoints": true - }, - { - "idx": 45, - "version": "5", - "when": 1785768750000, - "tag": "0045_add_assistant_web_search", - "breakpoints": true } ] } diff --git a/packages/db/migrations/postgresql/0010_workable_shard.sql b/packages/db/migrations/postgresql/0013_add_assistant_tables.sql similarity index 92% rename from packages/db/migrations/postgresql/0010_workable_shard.sql rename to packages/db/migrations/postgresql/0013_add_assistant_tables.sql index 4779e359f..d094d653c 100644 --- a/packages/db/migrations/postgresql/0010_workable_shard.sql +++ b/packages/db/migrations/postgresql/0013_add_assistant_tables.sql @@ -1,6 +1,7 @@ CREATE TABLE "assistant_configuration" ( "id" varchar(64) PRIMARY KEY DEFAULT 'default' NOT NULL, "enabled" boolean DEFAULT false NOT NULL, + "web_search_enabled" boolean DEFAULT false NOT NULL, "provider" varchar(32) DEFAULT 'openrouter' NOT NULL, "base_url" varchar(2048) DEFAULT 'https://openrouter.ai/api/v1' NOT NULL, "model_discovery_path" varchar(512) DEFAULT '/models', @@ -15,7 +16,7 @@ CREATE TABLE "assistant_message" ( "thread_id" varchar(64) NOT NULL, "parent_id" varchar(128), "format" varchar(64) DEFAULT 'ai-sdk/v6' NOT NULL, - "content" text DEFAULT '{"json": {}}' NOT NULL, + "content" text NOT NULL, "created_at" timestamp DEFAULT now() NOT NULL ); --> statement-breakpoint @@ -31,4 +32,4 @@ CREATE TABLE "assistant_thread" ( ALTER TABLE "assistant_message" ADD CONSTRAINT "assistant_message_thread_id_assistant_thread_id_fk" FOREIGN KEY ("thread_id") REFERENCES "public"."assistant_thread"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint ALTER TABLE "assistant_thread" ADD CONSTRAINT "assistant_thread_user_id_user_id_fk" FOREIGN KEY ("user_id") REFERENCES "public"."user"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint CREATE INDEX "assistant_message__thread_id_created_at_idx" ON "assistant_message" USING btree ("thread_id","created_at");--> statement-breakpoint -CREATE INDEX "assistant_thread__user_id_updated_at_idx" ON "assistant_thread" USING btree ("user_id","updated_at"); +CREATE INDEX "assistant_thread__user_id_updated_at_idx" ON "assistant_thread" USING btree ("user_id","updated_at"); \ No newline at end of file diff --git a/packages/db/migrations/postgresql/meta/_journal.json b/packages/db/migrations/postgresql/meta/_journal.json index 68661cf73..6006e43d3 100644 --- a/packages/db/migrations/postgresql/meta/_journal.json +++ b/packages/db/migrations/postgresql/meta/_journal.json @@ -99,13 +99,6 @@ "when": 1786217088954, "tag": "0013_add_assistant_tables", "breakpoints": true - }, - { - "idx": 11, - "version": "7", - "when": 1785768744667, - "tag": "0011_same_sir_ram", - "breakpoints": true } ] } diff --git a/packages/db/migrations/sqlite/0042_bumpy_tattoo.sql b/packages/db/migrations/sqlite/0045_add_assistant_tables.sql similarity index 87% rename from packages/db/migrations/sqlite/0042_bumpy_tattoo.sql rename to packages/db/migrations/sqlite/0045_add_assistant_tables.sql index d074a979f..c9e04c96d 100644 --- a/packages/db/migrations/sqlite/0042_bumpy_tattoo.sql +++ b/packages/db/migrations/sqlite/0045_add_assistant_tables.sql @@ -1,6 +1,7 @@ CREATE TABLE `assistant_configuration` ( `id` text PRIMARY KEY DEFAULT 'default' NOT NULL, `enabled` integer DEFAULT false NOT NULL, + `web_search_enabled` integer DEFAULT false NOT NULL, `provider` text DEFAULT 'openrouter' NOT NULL, `base_url` text DEFAULT 'https://openrouter.ai/api/v1' NOT NULL, `model_discovery_path` text DEFAULT '/models', @@ -15,11 +16,12 @@ CREATE TABLE `assistant_message` ( `thread_id` text NOT NULL, `parent_id` text, `format` text DEFAULT 'ai-sdk/v6' NOT NULL, - `content` text DEFAULT '{"json": {}}' NOT NULL, + `content` text NOT NULL, `created_at` integer DEFAULT (unixepoch()) NOT NULL, FOREIGN KEY (`thread_id`) REFERENCES `assistant_thread`(`id`) ON UPDATE no action ON DELETE cascade ); --> statement-breakpoint +CREATE INDEX `assistant_message__thread_id_created_at_idx` ON `assistant_message` (`thread_id`,`created_at`);--> statement-breakpoint CREATE TABLE `assistant_thread` ( `id` text PRIMARY KEY NOT NULL, `user_id` text NOT NULL, @@ -30,6 +32,4 @@ CREATE TABLE `assistant_thread` ( FOREIGN KEY (`user_id`) REFERENCES `user`(`id`) ON UPDATE no action ON DELETE cascade ); --> statement-breakpoint -CREATE INDEX `assistant_message__thread_id_created_at_idx` ON `assistant_message` (`thread_id`,`created_at`); ---> statement-breakpoint -CREATE INDEX `assistant_thread__user_id_updated_at_idx` ON `assistant_thread` (`user_id`,`updated_at`); +CREATE INDEX `assistant_thread__user_id_updated_at_idx` ON `assistant_thread` (`user_id`,`updated_at`); \ No newline at end of file diff --git a/packages/db/migrations/sqlite/meta/_journal.json b/packages/db/migrations/sqlite/meta/_journal.json index 8f148c61a..da059e51c 100644 --- a/packages/db/migrations/sqlite/meta/_journal.json +++ b/packages/db/migrations/sqlite/meta/_journal.json @@ -323,13 +323,6 @@ "when": 1786217088950, "tag": "0045_add_assistant_tables", "breakpoints": true - }, - { - "idx": 43, - "version": "6", - "when": 1785768736378, - "tag": "0043_swift_silver_samurai", - "breakpoints": true } ] }