37606c5a9b9e_account_token.py 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. """account token
  2. Revision ID: 37606c5a9b9e
  3. Revises:
  4. Create Date: 2025-01-15 09:57:58.619279
  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 = '37606c5a9b9e'
  12. down_revision: Union[str, None] = None
  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.drop_table('flow')
  18. op.drop_table('dialog')
  19. op.drop_table('apps')
  20. op.drop_table('user_tenant')
  21. op.drop_table('knowledgebase')
  22. op.drop_index('session_id_ix', table_name='chat_sessions')
  23. op.drop_index('tenant_id_ix', table_name='chat_sessions')
  24. op.drop_index('update_tine_ix', table_name='chat_sessions')
  25. op.drop_table('chat_sessions')
  26. op.alter_column('chat_api_tokens', 'app_id',
  27. existing_type=mysql.VARCHAR(charset='utf8mb3', collation='utf8mb3_general_ci', length=36),
  28. nullable=True)
  29. op.alter_column('chat_api_tokens', 'type',
  30. existing_type=mysql.VARCHAR(charset='utf8mb3', collation='utf8mb3_general_ci', length=16),
  31. nullable=True)
  32. op.drop_index('app_id_ix', table_name='chat_api_tokens')
  33. op.create_index(op.f('ix_chat_api_tokens_app_id'), 'chat_api_tokens', ['app_id'], unique=False)
  34. op.drop_index('update_ix_index', table_name='conversation')
  35. # ### end Alembic commands ###
  36. def downgrade() -> None:
  37. # ### commands auto generated by Alembic - please adjust! ###
  38. op.create_index('update_ix_index', 'conversation', ['update_time'], unique=False)
  39. op.drop_index(op.f('ix_chat_api_tokens_app_id'), table_name='chat_api_tokens')
  40. op.create_index('app_id_ix', 'chat_api_tokens', ['app_id'], unique=False)
  41. op.alter_column('chat_api_tokens', 'type',
  42. existing_type=mysql.VARCHAR(charset='utf8mb3', collation='utf8mb3_general_ci', length=16),
  43. nullable=False)
  44. op.alter_column('chat_api_tokens', 'app_id',
  45. existing_type=mysql.VARCHAR(charset='utf8mb3', collation='utf8mb3_general_ci', length=36),
  46. nullable=False)
  47. op.create_table('chat_sessions',
  48. sa.Column('id', mysql.VARCHAR(charset='utf8mb3', collation='utf8mb3_general_ci', length=36), nullable=False),
  49. sa.Column('name', mysql.VARCHAR(charset='utf8mb3', collation='utf8mb3_general_ci', length=255), nullable=True),
  50. sa.Column('agent_id', mysql.VARCHAR(charset='utf8mb3', collation='utf8mb3_general_ci', length=255), nullable=True),
  51. sa.Column('agent_type', mysql.INTEGER(), autoincrement=False, nullable=True),
  52. sa.Column('create_date', mysql.DATETIME(), nullable=True),
  53. sa.Column('update_date', mysql.DATETIME(), nullable=True),
  54. sa.Column('tenant_id', mysql.INTEGER(), autoincrement=False, nullable=True),
  55. sa.Column('message', mysql.LONGTEXT(charset='utf8mb3', collation='utf8mb3_general_ci'), nullable=True),
  56. sa.Column('reference', mysql.LONGTEXT(charset='utf8mb3', collation='utf8mb3_general_ci'), nullable=True),
  57. sa.Column('conversation_id', mysql.VARCHAR(charset='utf8mb3', collation='utf8mb3_general_ci', length=36), nullable=True),
  58. sa.Column('event_type', mysql.VARCHAR(charset='utf8mb3', collation='utf8mb3_general_ci', length=16), nullable=True),
  59. sa.Column('session_type', mysql.VARCHAR(charset='utf8mb3', collation='utf8mb3_general_ci', length=16), nullable=True),
  60. sa.PrimaryKeyConstraint('id'),
  61. mysql_default_charset='utf8mb3',
  62. mysql_engine='InnoDB',
  63. mysql_row_format='DYNAMIC'
  64. )
  65. op.create_index('update_tine_ix', 'chat_sessions', ['update_date'], unique=False)
  66. op.create_index('tenant_id_ix', 'chat_sessions', ['tenant_id'], unique=False)
  67. op.create_index('session_id_ix', 'chat_sessions', ['conversation_id'], unique=False)
  68. op.create_table('knowledgebase',
  69. sa.Column('id', mysql.VARCHAR(length=36), nullable=False),
  70. sa.Column('name', mysql.VARCHAR(length=128), nullable=True),
  71. sa.Column('create_date', mysql.DATETIME(), nullable=True),
  72. sa.Column('update_date', mysql.DATETIME(), nullable=True),
  73. sa.Column('tenant_id', mysql.VARCHAR(length=32), nullable=True),
  74. sa.Column('description', mysql.TEXT(), nullable=True),
  75. sa.Column('status', mysql.VARCHAR(length=1), nullable=True),
  76. sa.Column('documents', mysql.INTEGER(), autoincrement=False, nullable=True),
  77. sa.Column('icon', mysql.VARCHAR(length=128), nullable=True),
  78. sa.Column('knowledge_type', mysql.VARCHAR(length=1), nullable=True),
  79. sa.Column('permission', mysql.VARCHAR(length=32), nullable=True),
  80. sa.PrimaryKeyConstraint('id'),
  81. mysql_collate='utf8mb4_0900_ai_ci',
  82. mysql_default_charset='utf8mb4',
  83. mysql_engine='InnoDB'
  84. )
  85. op.create_table('user_tenant',
  86. sa.Column('id', mysql.VARCHAR(length=36), nullable=False),
  87. sa.Column('tenant_id', mysql.VARCHAR(length=32), nullable=True),
  88. sa.Column('user_id', mysql.VARCHAR(length=32), nullable=True),
  89. sa.Column('role', mysql.VARCHAR(length=32), nullable=True),
  90. sa.PrimaryKeyConstraint('id'),
  91. mysql_collate='utf8mb4_0900_ai_ci',
  92. mysql_default_charset='utf8mb4',
  93. mysql_engine='InnoDB'
  94. )
  95. op.create_table('apps',
  96. sa.Column('id', mysql.VARCHAR(length=36), nullable=False),
  97. sa.Column('name', mysql.VARCHAR(length=255), nullable=False),
  98. sa.Column('status', mysql.VARCHAR(length=16), nullable=False),
  99. sa.Column('description', mysql.TEXT(), nullable=False),
  100. sa.Column('tenant_id', mysql.VARCHAR(length=36), nullable=False),
  101. sa.PrimaryKeyConstraint('id'),
  102. mysql_collate='utf8mb4_0900_ai_ci',
  103. mysql_default_charset='utf8mb4',
  104. mysql_engine='InnoDB'
  105. )
  106. op.create_table('dialog',
  107. sa.Column('id', mysql.VARCHAR(length=255), nullable=False),
  108. sa.Column('name', mysql.VARCHAR(length=255), nullable=False),
  109. sa.Column('status', mysql.VARCHAR(length=1), nullable=False),
  110. sa.Column('description', mysql.VARCHAR(length=255), nullable=False),
  111. sa.Column('tenant_id', mysql.VARCHAR(length=36), nullable=False),
  112. sa.PrimaryKeyConstraint('id'),
  113. mysql_collate='utf8mb4_0900_ai_ci',
  114. mysql_default_charset='utf8mb4',
  115. mysql_engine='InnoDB'
  116. )
  117. op.create_table('flow',
  118. sa.Column('id', mysql.VARCHAR(length=255), nullable=False),
  119. sa.Column('name', mysql.VARCHAR(length=255), nullable=False),
  120. sa.Column('status', mysql.INTEGER(), autoincrement=False, nullable=False),
  121. sa.Column('description', mysql.VARCHAR(length=255), nullable=False),
  122. sa.Column('user_id', mysql.INTEGER(), autoincrement=False, nullable=False),
  123. sa.PrimaryKeyConstraint('id'),
  124. mysql_collate='utf8mb4_0900_ai_ci',
  125. mysql_default_charset='utf8mb4',
  126. mysql_engine='InnoDB'
  127. )
  128. # ### end Alembic commands ###