"""add chat tables Revision ID: 0005 Revises: 0004 Create Date: 2025-01-01 00:00:00.000000 """ from alembic import op import sqlalchemy as sa revision = "0005" down_revision = "0004" branch_labels = None depends_on = None def upgrade() -> None: op.create_table( "conversations", sa.Column("id", sa.Integer(), primary_key=True), sa.Column("title", sa.Text(), nullable=False, server_default=""), sa.Column("model", sa.Text(), nullable=False, server_default=""), sa.Column( "created_at", sa.DateTime(timezone=True), server_default=sa.func.now(), nullable=False, ), sa.Column( "updated_at", sa.DateTime(timezone=True), server_default=sa.func.now(), nullable=False, ), ) op.create_table( "messages", sa.Column("id", sa.Integer(), primary_key=True), sa.Column( "conversation_id", sa.Integer(), sa.ForeignKey("conversations.id", ondelete="CASCADE"), nullable=False, ), sa.Column("role", sa.Text(), nullable=False), sa.Column("content", sa.Text(), nullable=False, server_default=""), sa.Column( "context_note_id", sa.Integer(), sa.ForeignKey("notes.id", ondelete="SET NULL"), nullable=True, ), sa.Column( "created_at", sa.DateTime(timezone=True), server_default=sa.func.now(), nullable=False, ), ) op.create_index("ix_messages_conversation_id", "messages", ["conversation_id"]) def downgrade() -> None: op.drop_index("ix_messages_conversation_id", table_name="messages") op.drop_table("messages") op.drop_table("conversations")