mirror of
https://github.com/ItzCrazyKns/Perplexica.git
synced 2025-10-14 03:28:14 +00:00
51 lines
1.5 KiB
SQL
51 lines
1.5 KiB
SQL
PRAGMA foreign_keys=OFF;
|
|
--> statement-breakpoint
|
|
|
|
CREATE TABLE `__new_messages` (
|
|
`id` integer PRIMARY KEY NOT NULL,
|
|
`type` text NOT NULL,
|
|
`chatId` text NOT NULL,
|
|
`createdAt` text DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
|
`messageId` text NOT NULL,
|
|
`content` text,
|
|
`sources` text DEFAULT '[]'
|
|
);
|
|
--> statement-breakpoint
|
|
|
|
INSERT INTO `__new_messages`("id", "type", "chatId", "createdAt", "messageId", "content", "sources")
|
|
SELECT
|
|
id,
|
|
COALESCE(type, 'user') as type,
|
|
chatId,
|
|
CASE
|
|
WHEN metadata IS NOT NULL AND instr(metadata, '\"createdAt\":\"') > 0 THEN
|
|
substr(
|
|
metadata,
|
|
instr(metadata, '\"createdAt\":\"') + 14,
|
|
CASE
|
|
WHEN instr(substr(metadata, instr(metadata, '\"createdAt\":\"') + 14), '\"') > 0 THEN
|
|
instr(substr(metadata, instr(metadata, '\"createdAt\":\"') + 14), '\"') - 1
|
|
ELSE 24
|
|
END
|
|
)
|
|
ELSE CURRENT_TIMESTAMP
|
|
END as createdAt,
|
|
messageId,
|
|
content,
|
|
'[]' as sources
|
|
FROM `messages`;
|
|
--> statement-breakpoint
|
|
|
|
DROP TABLE `messages`;
|
|
--> statement-breakpoint
|
|
ALTER TABLE `__new_messages` RENAME TO `messages`;
|
|
--> statement-breakpoint
|
|
|
|
PRAGMA foreign_keys=ON;
|
|
--> statement-breakpoint
|
|
|
|
CREATE INDEX IF NOT EXISTS `idx_messages_chatId` ON `messages` (`chatId`);
|
|
--> statement-breakpoint
|
|
CREATE INDEX IF NOT EXISTS `idx_messages_type` ON `messages` (`type`);
|
|
--> statement-breakpoint
|
|
CREATE INDEX IF NOT EXISTS `idx_messages_createdAt` ON `messages` (`createdAt`); |