data table sql files

This commit is contained in:
2026-01-30 11:26:51 +08:00
parent 0ba9468495
commit 5bfd16e69e
3 changed files with 45 additions and 0 deletions

13
scripts/init_user.sql Normal file
View File

@@ -0,0 +1,13 @@
-- Create a new database
CREATE DATABASE ai_conversations;
-- Create a dedicated user (role) for your app
CREATE USER myapp_user WITH PASSWORD 'secure_password_123';
-- Grant privileges
GRANT ALL PRIVILEGES ON DATABASE ai_conversations TO myapp_user;
-- Also needed: allow user to create schemas/tables
\c ai_conversations
ALTER USER myapp_user CREATEDB; -- optional but helpful during dev
GRANT ALL ON SCHEMA public TO myapp_user;

View File

@@ -0,0 +1,20 @@
-- Drop the index first (if it exists)
DROP INDEX IF EXISTS idx_messages_conversation;
-- Drop the messages table (if it exists)
DROP TABLE IF EXISTS messages;
-- Recreate the messages table with TEXT conversation_id
-- Note: UUID extension is no longer needed since conversation_id is TEXT
CREATE TABLE messages (
id BIGSERIAL PRIMARY KEY,
conversation_id TEXT NOT NULL,
message_type VARCHAR(10) NOT NULL CHECK (message_type IN ('human', 'ai', 'tool')),
content TEXT NOT NULL,
sequence_number INTEGER NOT NULL CHECK (sequence_number >= 0),
created_at TIMESTAMPTZ DEFAULT NOW()
);
-- Recreate the index for fast retrieval of all messages in a conversation (in order)
CREATE INDEX idx_messages_conversation ON messages (conversation_id, sequence_number);

12
scripts/table_schema.sql Normal file
View File

@@ -0,0 +1,12 @@
-- Create the messages table
CREATE TABLE IF NOT EXISTS messages (
id BIGSERIAL PRIMARY KEY,
conversation_id TEXT NOT NULL,
message_type VARCHAR(10) NOT NULL CHECK (message_type IN ('human', 'ai', 'tool')),
content TEXT NOT NULL,
sequence_number INTEGER NOT NULL CHECK (sequence_number >= 0),
created_at TIMESTAMPTZ DEFAULT NOW()
);
-- Index for fast retrieval of all messages in a conversation (in order)
CREATE INDEX IF NOT EXISTS idx_messages_conversation ON messages (conversation_id, sequence_number);