MCPcopy Create free account
hub / github.com/OpenRaiser/PaperFlow / _create_chat_tables

Function _create_chat_tables

skills/storage-helper/scripts/db_ops.py:143–169  ·  view source on GitHub ↗

Create persistent GUI chat history tables.

(cursor: sqlite3.Cursor)

Source from the content-addressed store, hash-verified

141
142
143def _create_chat_tables(cursor: sqlite3.Cursor) -> None:
144 """Create persistent GUI chat history tables."""
145 cursor.execute("""
146 CREATE TABLE IF NOT EXISTS chat_sessions (
147 id INTEGER PRIMARY KEY AUTOINCREMENT,
148 session_id TEXT UNIQUE NOT NULL,
149 user_id TEXT NOT NULL,
150 title TEXT NOT NULL,
151 created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
152 updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
153 message_count INTEGER DEFAULT 0
154 )
155 """)
156 cursor.execute("""
157 CREATE TABLE IF NOT EXISTS chat_messages (
158 id INTEGER PRIMARY KEY AUTOINCREMENT,
159 session_id TEXT NOT NULL,
160 user_id TEXT NOT NULL,
161 role TEXT NOT NULL,
162 content TEXT NOT NULL,
163 metadata TEXT,
164 created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
165 FOREIGN KEY (session_id) REFERENCES chat_sessions(session_id)
166 )
167 """)
168 cursor.execute("CREATE INDEX IF NOT EXISTS idx_chat_sessions_user_updated ON chat_sessions(user_id, updated_at)")
169 cursor.execute("CREATE INDEX IF NOT EXISTS idx_chat_messages_session_id ON chat_messages(session_id, id)")
170
171
172def init_db() -> None:

Callers 2

init_dbFunction · 0.85
ensure_chat_tablesFunction · 0.85

Calls 1

executeMethod · 0.45

Tested by

no test coverage detected