Spaces:
Sleeping
Sleeping
| -- Create database | |
| CREATE DATABASE IF NOT EXISTS ai_assistant CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; | |
| USE ai_assistant; | |
| -- Users table | |
| CREATE TABLE IF NOT EXISTS users ( | |
| id INT AUTO_INCREMENT PRIMARY KEY, | |
| name VARCHAR(255) NOT NULL, | |
| email VARCHAR(255) UNIQUE NOT NULL, | |
| role VARCHAR(100), | |
| join_date DATE, | |
| preferences JSON, | |
| created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, | |
| updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, | |
| INDEX idx_email (email) | |
| ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci; | |
| -- Notes table | |
| CREATE TABLE IF NOT EXISTS notes ( | |
| id INT AUTO_INCREMENT PRIMARY KEY, | |
| user_id INT NOT NULL, | |
| title VARCHAR(500) NOT NULL, | |
| content TEXT NOT NULL, | |
| tags JSON, | |
| created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, | |
| updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, | |
| FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE, | |
| INDEX idx_user_id (user_id), | |
| INDEX idx_created_at (created_at), | |
| FULLTEXT INDEX idx_content (title, content) | |
| ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci; | |
| -- Chats table | |
| CREATE TABLE IF NOT EXISTS chats ( | |
| id INT AUTO_INCREMENT PRIMARY KEY, | |
| user_id INT NOT NULL, | |
| title VARCHAR(500) DEFAULT 'New Chat', | |
| created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, | |
| last_message_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, | |
| FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE, | |
| INDEX idx_user_id (user_id), | |
| INDEX idx_last_message_at (last_message_at) | |
| ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci; | |
| -- Messages table | |
| CREATE TABLE IF NOT EXISTS messages ( | |
| id INT AUTO_INCREMENT PRIMARY KEY, | |
| chat_id INT NOT NULL, | |
| role ENUM('user', 'assistant', 'system') NOT NULL, | |
| content TEXT NOT NULL, | |
| metadata JSON, | |
| created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, | |
| FOREIGN KEY (chat_id) REFERENCES chats (id) ON DELETE CASCADE, | |
| INDEX idx_chat_id (chat_id), | |
| INDEX idx_created_at (created_at) | |
| ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci; | |
| -- Policies table | |
| CREATE TABLE IF NOT EXISTS policies ( | |
| id INT AUTO_INCREMENT PRIMARY KEY, | |
| user_id INT NOT NULL, | |
| title VARCHAR(500) NOT NULL, | |
| content TEXT NOT NULL, | |
| file_path VARCHAR(1000), | |
| uploaded_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, | |
| FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE, | |
| INDEX idx_user_id (user_id), | |
| FULLTEXT INDEX idx_policy_content (title, content) | |
| ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_unicode_ci; |