This commit is contained in:
Timothy Jaeryang Baek
2026-02-02 09:31:52 -06:00
parent d938eb0e76
commit 3c0313f41b
2 changed files with 20 additions and 21 deletions

View File

@@ -26,14 +26,14 @@ def upgrade() -> None:
# Step 1: Create table
op.create_table(
"chat_message",
sa.Column("id", sa.String(), primary_key=True),
sa.Column("chat_id", sa.String(), nullable=False, index=True),
sa.Column("user_id", sa.String(), index=True),
sa.Column("role", sa.String(), nullable=False),
sa.Column("parent_id", sa.String(), nullable=True),
sa.Column("id", sa.Text(), primary_key=True),
sa.Column("chat_id", sa.Text(), nullable=False, index=True),
sa.Column("user_id", sa.Text(), index=True),
sa.Column("role", sa.Text(), nullable=False),
sa.Column("parent_id", sa.Text(), nullable=True),
sa.Column("content", sa.JSON(), nullable=True),
sa.Column("output", sa.JSON(), nullable=True),
sa.Column("model_id", sa.String(), nullable=True, index=True),
sa.Column("model_id", sa.Text(), nullable=True, index=True),
sa.Column("files", sa.JSON(), nullable=True),
sa.Column("sources", sa.JSON(), nullable=True),
sa.Column("embeds", sa.JSON(), nullable=True),
@@ -62,21 +62,21 @@ def upgrade() -> None:
chat_table = sa.table(
"chat",
sa.column("id", sa.String()),
sa.column("user_id", sa.String()),
sa.column("id", sa.Text()),
sa.column("user_id", sa.Text()),
sa.column("chat", sa.JSON()),
)
chat_message_table = sa.table(
"chat_message",
sa.column("id", sa.String()),
sa.column("chat_id", sa.String()),
sa.column("user_id", sa.String()),
sa.column("role", sa.String()),
sa.column("parent_id", sa.String()),
sa.column("id", sa.Text()),
sa.column("chat_id", sa.Text()),
sa.column("user_id", sa.Text()),
sa.column("role", sa.Text()),
sa.column("parent_id", sa.Text()),
sa.column("content", sa.JSON()),
sa.column("output", sa.JSON()),
sa.column("model_id", sa.String()),
sa.column("model_id", sa.Text()),
sa.column("files", sa.JSON()),
sa.column("sources", sa.JSON()),
sa.column("embeds", sa.JSON()),

View File

@@ -12,7 +12,6 @@ from sqlalchemy import (
Boolean,
Column,
ForeignKey,
String,
Text,
JSON,
Index,
@@ -50,22 +49,22 @@ class ChatMessage(Base):
__tablename__ = "chat_message"
# Identity
id = Column(String, primary_key=True)
id = Column(Text, primary_key=True)
chat_id = Column(
String, ForeignKey("chat.id", ondelete="CASCADE"), nullable=False, index=True
Text, ForeignKey("chat.id", ondelete="CASCADE"), nullable=False, index=True
)
user_id = Column(String, index=True)
user_id = Column(Text, index=True)
# Structure
role = Column(String, nullable=False) # user, assistant, system
parent_id = Column(String, nullable=True)
role = Column(Text, nullable=False) # user, assistant, system
parent_id = Column(Text, nullable=True)
# Content
content = Column(JSON, nullable=True) # Can be str or list of blocks
output = Column(JSON, nullable=True)
# Model (for assistant messages)
model_id = Column(String, nullable=True, index=True)
model_id = Column(Text, nullable=True, index=True)
# Attachments
files = Column(JSON, nullable=True)