Added diesel_migrations crate (v2.3.0) to enable database migration functionality. Updated Cargo.toml and Cargo.lock to include the new dependency along with its required sub-dependencies (migrations_internals and migrations_macros). Also made minor cleanups in the codebase: - Removed unused UI code from platform README - Cleaned up LLM server initialization code - Added additional build dependencies in documentation
33 lines
1.4 KiB
SQL
33 lines
1.4 KiB
SQL
-- Migration 6.0.3: Additional KB and session tables
|
|
-- This migration adds user_kb_associations and session_tool_associations tables
|
|
-- Note: kb_documents, kb_collections, and basic_tools are already created in 6.0.2
|
|
|
|
-- Table for user KB associations (which KBs are active for a user)
|
|
CREATE TABLE IF NOT EXISTS user_kb_associations (
|
|
id TEXT PRIMARY KEY,
|
|
user_id TEXT NOT NULL,
|
|
bot_id TEXT NOT NULL,
|
|
kb_name TEXT NOT NULL,
|
|
is_website INTEGER NOT NULL DEFAULT 0,
|
|
website_url TEXT,
|
|
created_at TEXT NOT NULL,
|
|
updated_at TEXT NOT NULL,
|
|
UNIQUE(user_id, bot_id, kb_name)
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_user_kb_user_id ON user_kb_associations(user_id);
|
|
CREATE INDEX IF NOT EXISTS idx_user_kb_bot_id ON user_kb_associations(bot_id);
|
|
CREATE INDEX IF NOT EXISTS idx_user_kb_name ON user_kb_associations(kb_name);
|
|
CREATE INDEX IF NOT EXISTS idx_user_kb_website ON user_kb_associations(is_website);
|
|
|
|
-- Table for session tool associations (which tools are available in a session)
|
|
CREATE TABLE IF NOT EXISTS session_tool_associations (
|
|
id TEXT PRIMARY KEY,
|
|
session_id TEXT NOT NULL,
|
|
tool_name TEXT NOT NULL,
|
|
added_at TEXT NOT NULL,
|
|
UNIQUE(session_id, tool_name)
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_session_tool_session ON session_tool_associations(session_id);
|
|
CREATE INDEX IF NOT EXISTS idx_session_tool_name ON session_tool_associations(tool_name);
|