Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit fb58caa

Browse files
committed
fix(coderd/database): fix down migration and add fixture
1 parent b390e56 commit fb58caa

File tree

2 files changed

+8
-33
lines changed

2 files changed

+8
-33
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,3 @@
1-
-- Remove the created_at column
2-
ALTER TABLE chat_messages
3-
DROP COLUMN IF EXISTS created_at;
1+
DROP TABLE IF EXISTS chat_messages;
42

5-
-- Add back message_type and message_index (assuming previous state was TEXT and SERIAL)
6-
ALTER TABLE chat_messages
7-
ADD COLUMN IF NOT EXISTS message_type TEXT NOT NULL DEFAULT '', -- Provide a default or handle NULLs
8-
ADD COLUMN IF NOT EXISTS message_index SERIAL;
9-
10-
-- Change content back to TEXT (data loss may occur if JSONB data is not representable as TEXT)
11-
ALTER TABLE chat_messages
12-
ALTER COLUMN content TYPE TEXT USING content::TEXT;
13-
14-
-- Attempt to revert id back to UUID with default
15-
-- WARNING: This is complex and potentially destructive. It might fail if data exists.
16-
-- It drops the existing primary key, sequence, and default, then attempts to set a new one.
17-
ALTER TABLE chat_messages DROP CONSTRAINT IF EXISTS chat_messages_pkey;
18-
DROP SEQUENCE IF EXISTS chat_messages_id_seq;
19-
ALTER TABLE chat_messages ALTER COLUMN id DROP DEFAULT;
20-
ALTER TABLE chat_messages ALTER COLUMN id TYPE UUID USING (gen_random_uuid()); -- Attempt conversion, may fail
21-
ALTER TABLE chat_messages ALTER COLUMN id SET DEFAULT gen_random_uuid();
22-
ALTER TABLE chat_messages ADD PRIMARY KEY (id);
23-
24-
-- Revert changes to chat_conversations (removing deleted_at)
25-
ALTER TABLE chat_conversations
26-
DROP COLUMN IF EXISTS deleted_at;
27-
ALTER TABLE chat_conversations DROP CONSTRAINT IF EXISTS chat_conversations_user_id_fkey;
28-
ALTER TABLE chat_conversations ADD CONSTRAINT chat_conversations_user_id_fkey FOREIGN KEY (user_id) REFERENCES users(id);
29-
ALTER TABLE chat_conversations ALTER COLUMN created_at SET DEFAULT CURRENT_TIMESTAMP;
30-
ALTER TABLE chat_conversations ALTER COLUMN updated_at SET DEFAULT CURRENT_TIMESTAMP;
31-
32-
-- Revert changes to chat_messages (removing ON DELETE CASCADE)
33-
ALTER TABLE chat_messages DROP CONSTRAINT IF EXISTS chat_messages_conversation_id_fkey;
34-
ALTER TABLE chat_messages ADD CONSTRAINT chat_messages_conversation_id_fkey FOREIGN KEY (conversation_id) REFERENCES chat_conversations(id);
3+
DROP TABLE IF EXISTS chats;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
INSERT INTO chats (id, owner_id, created_at, updated_at, title) VALUES
2+
('00000000-0000-0000-0000-000000000001', '0ed9befc-4911-4ccf-a8e2-559bf72daa94', '2023-10-01 12:00:00+00', '2023-10-01 12:00:00+00', 'Test Chat 1');
3+
4+
INSERT INTO chat_messages (id, chat_id, created_at, model, provider, content) VALUES
5+
(1, '00000000-0000-0000-0000-000000000001', '2023-10-01 12:00:00+00', 'annie-oakley', 'cowboy-coder', '{"role":"user","content":"Hello"}'),
6+
(2, '00000000-0000-0000-0000-000000000001', '2023-10-01 12:01:00+00', 'annie-oakley', 'cowboy-coder', '{"role":"assistant","content":"Howdy pardner! What can I do ya for?"}');

0 commit comments

Comments
 (0)