From 3c0313f41b45def67c374d444069812bea458d71 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Mon, 2 Feb 2026 09:31:52 -0600 Subject: [PATCH] refac --- .../8452d01d26d7_add_chat_message_table.py | 28 +++++++++---------- backend/open_webui/models/chat_messages.py | 13 ++++----- 2 files changed, 20 insertions(+), 21 deletions(-) diff --git a/backend/open_webui/migrations/versions/8452d01d26d7_add_chat_message_table.py b/backend/open_webui/migrations/versions/8452d01d26d7_add_chat_message_table.py index e774ff11d..5a139db3e 100644 --- a/backend/open_webui/migrations/versions/8452d01d26d7_add_chat_message_table.py +++ b/backend/open_webui/migrations/versions/8452d01d26d7_add_chat_message_table.py @@ -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()), diff --git a/backend/open_webui/models/chat_messages.py b/backend/open_webui/models/chat_messages.py index 88d1c9ff7..9254baf5d 100644 --- a/backend/open_webui/models/chat_messages.py +++ b/backend/open_webui/models/chat_messages.py @@ -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)