-- ============================================
-- chat_sessions テーブル作成 & chat_messages 更新
-- 対象DB: chat_log_DB
-- ============================================
-- ※ Docker MySQL は init スクリプトを初回のみ実行するため、
--   既存DBには手動で実行してください:
--   docker exec -it goalskill-db mysql -u root -p < /docker-entrypoint-initdb.d/02_chat_sessions.sql

USE chat_log_DB;

-- 1) chat_sessions テーブル作成
CREATE TABLE IF NOT EXISTS chat_sessions (
    id INT AUTO_INCREMENT PRIMARY KEY,
    session_id VARCHAR(255) NOT NULL COMMENT 'ユーザーセッションID',
    title VARCHAR(500) DEFAULT '新しい会話' COMMENT '会話タイトル',
    category VARCHAR(100) NOT NULL COMMENT 'カテゴリ (condition, journal, curriculum等)',
    daily INT DEFAULT 0 COMMENT '日次',
    started_at DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '会話開始時刻',
    last_message_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最終メッセージ時刻',
    INDEX idx_session_id (session_id),
    INDEX idx_last_message (last_message_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- 2) chat_messages に chat_session_id カラム追加
-- ※ MySQL 8.0 は ADD COLUMN IF NOT EXISTS 非対応のため、
--   既にカラムが存在する場合はエラーになります（無視してOK）
ALTER TABLE chat_messages
ADD COLUMN chat_session_id INT DEFAULT NULL COMMENT 'chat_sessions.id への外部キー',
ADD INDEX idx_chat_session_id (chat_session_id);
