create_tables
This commit is contained in:
parent
b7afbd0216
commit
f93abfebbd
136
create_tables.sql
Normal file
136
create_tables.sql
Normal file
@ -0,0 +1,136 @@
|
||||
-- 1. 创建 agent_user 表
|
||||
CREATE TABLE IF NOT EXISTS agent_user (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
username VARCHAR(255) UNIQUE NOT NULL,
|
||||
email VARCHAR(255) UNIQUE,
|
||||
password_hash VARCHAR(255) NOT NULL,
|
||||
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
|
||||
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
|
||||
last_login TIMESTAMP WITH TIME ZONE,
|
||||
is_active BOOLEAN DEFAULT TRUE,
|
||||
is_admin BOOLEAN DEFAULT FALSE
|
||||
);
|
||||
|
||||
-- agent_user 索引
|
||||
CREATE INDEX IF NOT EXISTS idx_agent_user_username ON agent_user(username);
|
||||
CREATE INDEX IF NOT EXISTS idx_agent_user_email ON agent_user(email);
|
||||
CREATE INDEX IF NOT EXISTS idx_agent_user_is_active ON agent_user(is_active);
|
||||
|
||||
-- 2. 创建 agent_bots 表
|
||||
CREATE TABLE IF NOT EXISTS agent_bots (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
name VARCHAR(255) NOT NULL,
|
||||
bot_id VARCHAR(255) NOT NULL UNIQUE,
|
||||
settings JSONB DEFAULT '{"language": "zh", "enable_memori": false, "enable_thinking": false, "tool_response": false}'::jsonb,
|
||||
owner_id UUID NOT NULL REFERENCES agent_user(id) ON DELETE RESTRICT,
|
||||
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
|
||||
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- agent_bots 索引
|
||||
CREATE INDEX IF NOT EXISTS idx_agent_bots_bot_id ON agent_bots(bot_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_agent_bots_owner_id ON agent_bots(owner_id);
|
||||
|
||||
-- 3. 创建 agent_user_tokens 表
|
||||
CREATE TABLE IF NOT EXISTS agent_user_tokens (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
user_id UUID NOT NULL REFERENCES agent_user(id) ON DELETE CASCADE,
|
||||
token VARCHAR(255) NOT NULL UNIQUE,
|
||||
expires_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- agent_user_tokens 索引
|
||||
CREATE INDEX IF NOT EXISTS idx_agent_user_tokens_token ON agent_user_tokens(token);
|
||||
CREATE INDEX IF NOT EXISTS idx_agent_user_tokens_user_id ON agent_user_tokens(user_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_agent_user_tokens_expires ON agent_user_tokens(expires_at);
|
||||
|
||||
-- 4. 创建 agent_admin_tokens 表
|
||||
CREATE TABLE IF NOT EXISTS agent_admin_tokens (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
username VARCHAR(255) NOT NULL,
|
||||
token VARCHAR(255) NOT NULL UNIQUE,
|
||||
expires_at TIMESTAMP WITH TIME ZONE NOT NULL,
|
||||
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- agent_admin_tokens 索引
|
||||
CREATE INDEX IF NOT EXISTS idx_agent_admin_tokens_token ON agent_admin_tokens(token);
|
||||
CREATE INDEX IF NOT EXISTS idx_agent_admin_tokens_expires ON agent_admin_tokens(expires_at);
|
||||
|
||||
-- 5. 创建 agent_models 表
|
||||
CREATE TABLE IF NOT EXISTS agent_models (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
name VARCHAR(255) NOT NULL,
|
||||
provider VARCHAR(100) NOT NULL,
|
||||
model VARCHAR(255) NOT NULL,
|
||||
server VARCHAR(500),
|
||||
api_key VARCHAR(500),
|
||||
is_default BOOLEAN DEFAULT FALSE,
|
||||
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
|
||||
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- agent_models 索引
|
||||
CREATE INDEX IF NOT EXISTS idx_agent_models_is_default ON agent_models(is_default);
|
||||
|
||||
-- 6. 创建 agent_mcp_servers 表
|
||||
CREATE TABLE IF NOT EXISTS agent_mcp_servers (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
bot_id UUID REFERENCES agent_bots(id) ON DELETE CASCADE,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
type VARCHAR(50) NOT NULL,
|
||||
config JSONB NOT NULL,
|
||||
enabled BOOLEAN DEFAULT TRUE,
|
||||
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
|
||||
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- agent_mcp_servers 索引
|
||||
CREATE INDEX IF NOT EXISTS idx_agent_mcp_servers_bot_id ON agent_mcp_servers(bot_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_agent_mcp_servers_enabled ON agent_mcp_servers(enabled);
|
||||
|
||||
-- 7. 创建 agent_chat_sessions 表
|
||||
CREATE TABLE IF NOT EXISTS agent_chat_sessions (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
bot_id UUID REFERENCES agent_bots(id) ON DELETE CASCADE,
|
||||
title VARCHAR(500),
|
||||
created_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
|
||||
updated_at TIMESTAMP WITH TIME ZONE DEFAULT NOW()
|
||||
);
|
||||
|
||||
-- agent_chat_sessions 索引
|
||||
CREATE INDEX IF NOT EXISTS idx_agent_chat_sessions_bot_id ON agent_chat_sessions(bot_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_agent_chat_sessions_created ON agent_chat_sessions(created_at DESC);
|
||||
|
||||
-- 8. 创建 bot_shares 表
|
||||
CREATE TABLE IF NOT EXISTS bot_shares (
|
||||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||||
bot_id UUID NOT NULL REFERENCES agent_bots(id) ON DELETE CASCADE,
|
||||
user_id UUID NOT NULL REFERENCES agent_user(id) ON DELETE CASCADE,
|
||||
shared_by UUID NOT NULL REFERENCES agent_user(id) ON DELETE SET NULL,
|
||||
role VARCHAR(50) DEFAULT 'viewer' CHECK (role IN ('viewer', 'editor')),
|
||||
shared_at TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
|
||||
expires_at TIMESTAMP WITH TIME ZONE,
|
||||
UNIQUE(bot_id, user_id)
|
||||
);
|
||||
|
||||
-- bot_shares 索引
|
||||
CREATE INDEX IF NOT EXISTS idx_bot_shares_bot_id ON bot_shares(bot_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_bot_shares_user_id ON bot_shares(user_id);
|
||||
CREATE INDEX IF NOT EXISTS idx_bot_shares_shared_by ON bot_shares(shared_by);
|
||||
|
||||
-- ===========================
|
||||
-- 默认 Admin 账号
|
||||
-- 用户名: admin
|
||||
-- 密码: admin123
|
||||
-- ===========================
|
||||
INSERT INTO agent_user (id, username, email, password_hash, is_active, is_admin)
|
||||
VALUES (
|
||||
'00000000-0000-0000-0000-000000000001',
|
||||
'admin',
|
||||
'admin@local',
|
||||
'240be518fabd2724ddb6f04eeb1da5967448d7e831c08c8fa822809f74c720a9',
|
||||
TRUE,
|
||||
TRUE
|
||||
) ON CONFLICT (username) DO NOTHING;
|
||||
Loading…
Reference in New Issue
Block a user