Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 61 additions & 0 deletions alembic/versions/02a308962529_add_faq_config_column.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
"""add faq_config column to pai_chatbot_faq_config

Revision ID: 02a308962529
Revises: 93f02e32f851
Create Date: 2025-12-25 17:00:00.000000

"""
from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql

from db.op.safe_add import safe_add_column


# revision identifiers, used by Alembic.
revision: str = '02a308962529'
down_revision: Union[str, Sequence[str], None] = '93f02e32f851'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None


def upgrade() -> None:
"""Upgrade schema."""
# Add FAQ configuration columns to pai_chatbot_faq_config table
safe_add_column(
'pai_chatbot_faq_config',
sa.Column('score_threshold', sa.Float(), nullable=True)
)
safe_add_column(
'pai_chatbot_faq_config',
sa.Column('embedding_model', sa.String(), nullable=True)
)
safe_add_column(
'pai_chatbot_faq_config',
sa.Column('enable_question_in_retrieval', sa.Boolean(), nullable=True)
)
safe_add_column(
'pai_chatbot_faq_config',
sa.Column('enable_question_in_response', sa.Boolean(), nullable=True)
)
safe_add_column(
'pai_chatbot_faq_config',
sa.Column('enable_answer_in_retrieval', sa.Boolean(), nullable=True)
)
safe_add_column(
'pai_chatbot_faq_config',
sa.Column('enable_answer_in_response', sa.Boolean(), nullable=True)
)


def downgrade() -> None:
"""Downgrade schema."""
op.drop_column('pai_chatbot_faq_config', 'enable_answer_in_response')
op.drop_column('pai_chatbot_faq_config', 'enable_answer_in_retrieval')
op.drop_column('pai_chatbot_faq_config', 'enable_question_in_response')
op.drop_column('pai_chatbot_faq_config', 'enable_question_in_retrieval')
op.drop_column('pai_chatbot_faq_config', 'embedding_model')
op.drop_column('pai_chatbot_faq_config', 'score_threshold')

34 changes: 34 additions & 0 deletions alembic/versions/068d4e3eaf34_add_chunk_config.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
"""add chunk_config

Revision ID: 068d4e3eaf34
Revises: 1432eea7c5b9
Create Date: 2025-12-22 14:42:31.129006

"""
from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa

from db.op.safe_add import safe_add_column


# revision identifiers, used by Alembic.
revision: str = '068d4e3eaf34'
down_revision: Union[str, Sequence[str], None] = '1432eea7c5b9'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None


def upgrade() -> None:
"""Upgrade schema."""
# ### commands auto generated by Alembic - please adjust! ###
safe_add_column('pai_knowledgebase_file', sa.Column('chunk_config', sa.JSON(), nullable=True))
# ### end Alembic commands ###

def downgrade() -> None:
"""Downgrade schema."""
# ### commands auto generated by Alembic - please adjust! ###
op.drop_column('pai_knowledgebase_file', 'chunk_config')
# ### end Alembic commands ###

69 changes: 69 additions & 0 deletions alembic/versions/93f02e32f851_add_enable_faq_and_faq_table.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
"""add enable_faq and faq table

Revision ID: 93f02e32f851
Revises: 068d4e3eaf34
Create Date: 2025-12-25 16:03:26.237567

"""
from typing import Sequence, Union

from alembic import op
import sqlalchemy as sa

from db.op.safe_add import safe_add_column


# revision identifiers, used by Alembic.
revision: str = '93f02e32f851'
down_revision: Union[str, Sequence[str], None] = '068d4e3eaf34'
branch_labels: Union[str, Sequence[str], None] = None
depends_on: Union[str, Sequence[str], None] = None


def upgrade() -> None:
"""Upgrade schema."""
# ### commands auto generated by Alembic - please adjust! ###

# Create pai_chatbot_faq_config table (FAQ configuration)
op.create_table(
'pai_chatbot_faq_config',
sa.Column('id', sa.String(), nullable=False),
sa.Column('chatbot_id', sa.String(), nullable=True),
sa.Column('tenant_id', sa.String(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.PrimaryKeyConstraint('id')
)
op.create_index('ix_pai_chatbot_faq_config_chatbot_id', 'pai_chatbot_faq_config', ['chatbot_id'], unique=False)
op.create_index('ix_pai_chatbot_faq_config_tenant_id', 'pai_chatbot_faq_config', ['tenant_id'], unique=False)

# Create pai_chatbot_faq table (FAQ items)
op.create_table(
'pai_chatbot_faq',
sa.Column('id', sa.String(), nullable=False),
sa.Column('question', sa.Text(), nullable=True),
sa.Column('answer', sa.Text(), nullable=True),
sa.Column('chatbot_id', sa.String(), nullable=True),
sa.Column('file_id', sa.String(), nullable=True),
sa.Column('active', sa.Boolean(), nullable=True, default=True),
sa.Column('tenant_id', sa.String(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.PrimaryKeyConstraint('id')
)
op.create_index('ix_pai_chatbot_faq_chatbot_id', 'pai_chatbot_faq', ['chatbot_id'], unique=False)
op.create_index('ix_pai_chatbot_faq_tenant_id', 'pai_chatbot_faq', ['tenant_id'], unique=False)
# ### end Alembic commands ###


def downgrade() -> None:
"""Downgrade schema."""
# ### commands auto generated by Alembic - please adjust! ###
op.drop_index('ix_pai_chatbot_faq_tenant_id', table_name='pai_chatbot_faq')
op.drop_index('ix_pai_chatbot_faq_chatbot_id', table_name='pai_chatbot_faq')
op.drop_table('pai_chatbot_faq')
op.drop_index('ix_pai_chatbot_faq_config_tenant_id', table_name='pai_chatbot_faq_config')
op.drop_index('ix_pai_chatbot_faq_config_chatbot_id', table_name='pai_chatbot_faq_config')
op.drop_table('pai_chatbot_faq_config')
# ### end Alembic commands ###

Loading
Loading