diff --git a/db/migrations/versions/20251101_203810_allow_no_chattiness.py b/db/migrations/versions/20251101_203810_allow_no_chattiness.py new file mode 100644 index 0000000..e493b5d --- /dev/null +++ b/db/migrations/versions/20251101_203810_allow_no_chattiness.py @@ -0,0 +1,114 @@ +"""allow no chattiness + +Revision ID: 2024235e37e7 +Revises: 7dc03dbf184c +Create Date: 2025-11-01 20:38:10.849651 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision: str = "2024235e37e7" +down_revision: Union[str, None] = "7dc03dbf184c" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + op.alter_column( + "discord_channels", + "chattiness_threshold", + existing_type=sa.INTEGER(), + nullable=True, + existing_server_default=sa.text("50"), + ) + op.drop_column("discord_channels", "track_messages") + op.alter_column( + "discord_servers", + "chattiness_threshold", + existing_type=sa.INTEGER(), + nullable=True, + existing_server_default=sa.text("50"), + ) + op.drop_index("discord_servers_active_idx", table_name="discord_servers") + op.create_index( + "discord_servers_active_idx", + "discord_servers", + ["ignore_messages", "last_sync_at"], + unique=False, + ) + op.drop_column("discord_servers", "track_messages") + op.alter_column( + "discord_users", + "chattiness_threshold", + existing_type=sa.INTEGER(), + nullable=True, + existing_server_default=sa.text("50"), + ) + op.drop_column("discord_users", "track_messages") + + +def downgrade() -> None: + op.add_column( + "discord_users", + sa.Column( + "track_messages", + sa.BOOLEAN(), + server_default=sa.text("true"), + autoincrement=False, + nullable=False, + ), + ) + op.alter_column( + "discord_users", + "chattiness_threshold", + existing_type=sa.INTEGER(), + nullable=False, + existing_server_default=sa.text("50"), + ) + op.add_column( + "discord_servers", + sa.Column( + "track_messages", + sa.BOOLEAN(), + server_default=sa.text("true"), + autoincrement=False, + nullable=False, + ), + ) + op.drop_index("discord_servers_active_idx", table_name="discord_servers") + op.create_index( + "discord_servers_active_idx", + "discord_servers", + ["track_messages", "last_sync_at"], + unique=False, + ) + op.alter_column( + "discord_servers", + "chattiness_threshold", + existing_type=sa.INTEGER(), + nullable=False, + existing_server_default=sa.text("50"), + ) + op.add_column( + "discord_channels", + sa.Column( + "track_messages", + sa.BOOLEAN(), + server_default=sa.text("true"), + autoincrement=False, + nullable=False, + ), + ) + op.alter_column( + "discord_channels", + "chattiness_threshold", + existing_type=sa.INTEGER(), + nullable=False, + existing_server_default=sa.text("50"), + ) diff --git a/src/memory/common/db/models/discord.py b/src/memory/common/db/models/discord.py index 01f727c..3775ca1 100644 --- a/src/memory/common/db/models/discord.py +++ b/src/memory/common/db/models/discord.py @@ -22,7 +22,6 @@ from memory.common.db.models.base import Base class MessageProcessor: - track_messages = Column(Boolean, nullable=False, server_default="true") ignore_messages = Column(Boolean, nullable=True, default=False) allowed_tools = Column(ARRAY(Text), nullable=False, server_default="{}") @@ -89,7 +88,7 @@ class DiscordServer(Base, MessageProcessor): ) __table_args__ = ( - Index("discord_servers_active_idx", "track_messages", "last_sync_at"), + Index("discord_servers_active_idx", "ignore_messages", "last_sync_at"), )