mirror of
https://github.com/ItzCrazyKns/Perplexica.git
synced 2025-10-14 03:28:14 +00:00
feat(db): add migrations
This commit is contained in:
51
drizzle/0001_acoustic_wild_pack.sql
Normal file
51
drizzle/0001_acoustic_wild_pack.sql
Normal file
@@ -0,0 +1,51 @@
|
||||
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`);
|
Reference in New Issue
Block a user