mirror of https://github.com/langgenius/dify.git
chore: add database migration file
This commit is contained in:
parent
1a4600ce77
commit
a1e3a72274
|
|
@ -0,0 +1,104 @@
|
|||
"""add_chatflow_memory_tables
|
||||
|
||||
Revision ID: d00b2b40ea3e
|
||||
Revises: 68519ad5cd18
|
||||
Create Date: 2025-10-11 15:29:20.244675
|
||||
|
||||
"""
|
||||
from alembic import op
|
||||
import models as models
|
||||
import sqlalchemy as sa
|
||||
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = 'd00b2b40ea3e'
|
||||
down_revision = '68519ad5cd18'
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
|
||||
def upgrade():
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
op.create_table('chatflow_conversations',
|
||||
sa.Column('id', models.types.StringUUID(), server_default=sa.text('uuid_generate_v4()'), nullable=False),
|
||||
sa.Column('tenant_id', models.types.StringUUID(), nullable=False),
|
||||
sa.Column('app_id', models.types.StringUUID(), nullable=False),
|
||||
sa.Column('node_id', sa.Text(), nullable=True),
|
||||
sa.Column('original_conversation_id', models.types.StringUUID(), nullable=True),
|
||||
sa.Column('conversation_metadata', sa.Text(), nullable=False),
|
||||
sa.Column('created_at', sa.DateTime(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False),
|
||||
sa.Column('updated_at', sa.DateTime(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False),
|
||||
sa.PrimaryKeyConstraint('id', name='chatflow_conversations_pkey')
|
||||
)
|
||||
with op.batch_alter_table('chatflow_conversations', schema=None) as batch_op:
|
||||
batch_op.create_index('chatflow_conversations_original_conversation_id_idx', ['tenant_id', 'app_id', 'node_id', 'original_conversation_id'], unique=False)
|
||||
|
||||
op.create_table('chatflow_memory_variables',
|
||||
sa.Column('id', models.types.StringUUID(), server_default=sa.text('uuid_generate_v4()'), nullable=False),
|
||||
sa.Column('tenant_id', models.types.StringUUID(), nullable=False),
|
||||
sa.Column('app_id', models.types.StringUUID(), nullable=True),
|
||||
sa.Column('conversation_id', models.types.StringUUID(), nullable=True),
|
||||
sa.Column('node_id', sa.Text(), nullable=True),
|
||||
sa.Column('memory_id', sa.Text(), nullable=False),
|
||||
sa.Column('value', sa.Text(), nullable=False),
|
||||
sa.Column('name', sa.Text(), nullable=False),
|
||||
sa.Column('scope', sa.String(length=10), nullable=False),
|
||||
sa.Column('term', sa.String(length=20), nullable=False),
|
||||
sa.Column('version', sa.Integer(), nullable=False),
|
||||
sa.Column('created_by_role', sa.String(length=20), nullable=False),
|
||||
sa.Column('created_by', models.types.StringUUID(), nullable=False),
|
||||
sa.Column('created_at', sa.DateTime(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False),
|
||||
sa.Column('updated_at', sa.DateTime(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False),
|
||||
sa.PrimaryKeyConstraint('id', name='chatflow_memory_variables_pkey')
|
||||
)
|
||||
with op.batch_alter_table('chatflow_memory_variables', schema=None) as batch_op:
|
||||
batch_op.create_index('chatflow_memory_variables_memory_id_idx', ['tenant_id', 'app_id', 'node_id', 'memory_id'], unique=False)
|
||||
|
||||
op.create_table('chatflow_messages',
|
||||
sa.Column('id', models.types.StringUUID(), server_default=sa.text('uuid_generate_v4()'), nullable=False),
|
||||
sa.Column('conversation_id', models.types.StringUUID(), nullable=False),
|
||||
sa.Column('index', sa.Integer(), nullable=False),
|
||||
sa.Column('version', sa.Integer(), nullable=False),
|
||||
sa.Column('data', sa.Text(), nullable=False),
|
||||
sa.Column('created_at', sa.DateTime(), server_default=sa.text('CURRENT_TIMESTAMP'), nullable=False),
|
||||
sa.PrimaryKeyConstraint('id', name='chatflow_messages_pkey')
|
||||
)
|
||||
with op.batch_alter_table('chatflow_messages', schema=None) as batch_op:
|
||||
batch_op.create_index('chatflow_messages_version_idx', ['conversation_id', 'index', 'version'], unique=False)
|
||||
|
||||
with op.batch_alter_table('datasource_providers', schema=None) as batch_op:
|
||||
batch_op.alter_column('avatar_url',
|
||||
existing_type=sa.TEXT(),
|
||||
type_=sa.String(length=255),
|
||||
existing_nullable=True)
|
||||
|
||||
with op.batch_alter_table('providers', schema=None) as batch_op:
|
||||
batch_op.drop_column('credential_status')
|
||||
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade():
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
with op.batch_alter_table('providers', schema=None) as batch_op:
|
||||
batch_op.add_column(sa.Column('credential_status', sa.VARCHAR(length=20), server_default=sa.text("'active'::character varying"), autoincrement=False, nullable=True))
|
||||
|
||||
with op.batch_alter_table('datasource_providers', schema=None) as batch_op:
|
||||
batch_op.alter_column('avatar_url',
|
||||
existing_type=sa.String(length=255),
|
||||
type_=sa.TEXT(),
|
||||
existing_nullable=True)
|
||||
|
||||
with op.batch_alter_table('chatflow_messages', schema=None) as batch_op:
|
||||
batch_op.drop_index('chatflow_messages_version_idx')
|
||||
|
||||
op.drop_table('chatflow_messages')
|
||||
with op.batch_alter_table('chatflow_memory_variables', schema=None) as batch_op:
|
||||
batch_op.drop_index('chatflow_memory_variables_memory_id_idx')
|
||||
|
||||
op.drop_table('chatflow_memory_variables')
|
||||
with op.batch_alter_table('chatflow_conversations', schema=None) as batch_op:
|
||||
batch_op.drop_index('chatflow_conversations_original_conversation_id_idx')
|
||||
|
||||
op.drop_table('chatflow_conversations')
|
||||
# ### end Alembic commands ###
|
||||
Loading…
Reference in New Issue