75d247bc0248_knowledgebases_tables_add.py 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. """knowledgebases tables add
  2. Revision ID: 75d247bc0248
  3. Revises: 16efd20cce44
  4. Create Date: 2024-12-17 19:38:44.939447
  5. """
  6. from typing import Sequence, Union
  7. from alembic import op
  8. import sqlalchemy as sa
  9. from sqlalchemy.dialects import mysql
  10. # revision identifiers, used by Alembic.
  11. revision: str = '75d247bc0248'
  12. down_revision: Union[str, None] = '16efd20cce44'
  13. branch_labels: Union[str, Sequence[str], None] = None
  14. depends_on: Union[str, Sequence[str], None] = None
  15. def upgrade() -> None:
  16. # ### commands auto generated by Alembic - please adjust! ###
  17. op.create_table('knowledgebases',
  18. sa.Column('id', sa.String(length=36), nullable=False),
  19. sa.Column('name', sa.String(length=128), nullable=True),
  20. sa.Column('create_date', sa.DateTime(), nullable=True),
  21. sa.Column('update_date', sa.DateTime(), nullable=True),
  22. sa.Column('permission', sa.String(length=32), nullable=True),
  23. sa.Column('tenant_id', sa.String(length=32), nullable=True),
  24. sa.Column('description', sa.Text(), nullable=True),
  25. sa.Column('status', sa.String(length=1), nullable=True),
  26. sa.Column('documents', sa.Integer(), nullable=True),
  27. sa.Column('icon', sa.String(length=128), nullable=True),
  28. sa.Column('knowledge_type', sa.String(length=1), nullable=True),
  29. sa.PrimaryKeyConstraint('id')
  30. )
  31. op.drop_table('knowledgebase')
  32. op.drop_constraint('group_Knowledge_ibfk_2', 'group_Knowledge', type_='foreignkey')
  33. op.create_foreign_key(None, 'group_Knowledge', 'knowledgebases', ['knowledge_id'], ['id'], ondelete='CASCADE')
  34. # ### end Alembic commands ###
  35. def downgrade() -> None:
  36. # ### commands auto generated by Alembic - please adjust! ###
  37. op.drop_constraint(None, 'group_Knowledge', type_='foreignkey')
  38. op.create_foreign_key('group_Knowledge_ibfk_2', 'group_Knowledge', 'knowledgebase', ['knowledge_id'], ['id'], ondelete='CASCADE')
  39. op.create_table('knowledgebase',
  40. sa.Column('id', mysql.VARCHAR(length=36), nullable=False),
  41. sa.Column('name', mysql.VARCHAR(length=128), nullable=True),
  42. sa.Column('create_date', mysql.DATETIME(), nullable=True),
  43. sa.Column('update_date', mysql.DATETIME(), nullable=True),
  44. sa.Column('tenant_id', mysql.VARCHAR(length=32), nullable=True),
  45. sa.Column('description', mysql.TEXT(), nullable=True),
  46. sa.Column('status', mysql.VARCHAR(length=1), nullable=True),
  47. sa.Column('documents', mysql.INTEGER(), autoincrement=False, nullable=True),
  48. sa.Column('icon', mysql.VARCHAR(length=128), nullable=True),
  49. sa.Column('knowledge_type', mysql.VARCHAR(length=1), nullable=True),
  50. sa.Column('permission', mysql.VARCHAR(length=32), nullable=True),
  51. sa.PrimaryKeyConstraint('id'),
  52. mysql_collate='utf8mb4_0900_ai_ci',
  53. mysql_default_charset='utf8mb4',
  54. mysql_engine='InnoDB'
  55. )
  56. op.drop_table('knowledgebases')
  57. # ### end Alembic commands ###