2023-12-13-15-09_eacc2313d69c.py 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. """empty message
  2. Revision ID: eacc2313d69c
  3. Revises:
  4. Create Date: 2023-12-13 15:09:59.056426
  5. """
  6. from typing import Sequence, Union
  7. from alembic import op
  8. import sqlalchemy as sa
  9. import sqlmodel
  10. # revision identifiers, used by Alembic.
  11. revision: str = "eacc2313d69c"
  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.create_table(
  18. "assistant",
  19. sa.Column("created_at", sa.DateTime(), server_default=sa.text("CURRENT_TIMESTAMP"), nullable=False),
  20. sa.Column("updated_at", sa.DateTime(), server_default=sa.text("null"), nullable=True),
  21. sa.Column("id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  22. sa.Column("model", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  23. sa.Column("object", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  24. sa.Column("description", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
  25. sa.Column("file_ids", sa.JSON(), nullable=True),
  26. sa.Column("instructions", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
  27. sa.Column("metadata", sa.JSON(), nullable=True),
  28. sa.Column("name", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
  29. sa.Column("tools", sa.JSON(), nullable=True),
  30. sa.PrimaryKeyConstraint("id"),
  31. )
  32. op.create_table(
  33. "assistant_file",
  34. sa.Column("created_at", sa.DateTime(), server_default=sa.text("CURRENT_TIMESTAMP"), nullable=False),
  35. sa.Column("updated_at", sa.DateTime(), server_default=sa.text("null"), nullable=True),
  36. sa.Column("id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  37. sa.Column("assistant_id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  38. sa.Column("object", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  39. sa.PrimaryKeyConstraint("id"),
  40. )
  41. op.create_index("assistant_file_assistant_id_id_idx", "assistant_file", ["assistant_id", "id"], unique=False)
  42. op.create_table(
  43. "file",
  44. sa.Column("created_at", sa.DateTime(), server_default=sa.text("CURRENT_TIMESTAMP"), nullable=False),
  45. sa.Column("updated_at", sa.DateTime(), server_default=sa.text("null"), nullable=True),
  46. sa.Column("id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  47. sa.Column("bytes", sa.Integer(), nullable=False),
  48. sa.Column("filename", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  49. sa.Column("purpose", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  50. sa.Column("object", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  51. sa.Column("key", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  52. sa.Column("status", sa.Enum("error", "processed", "uploaded"), nullable=True),
  53. sa.Column("status_details", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
  54. sa.PrimaryKeyConstraint("id"),
  55. )
  56. op.create_index("file_purpose_idx", "file", ["purpose"], unique=False)
  57. op.create_table(
  58. "message",
  59. sa.Column("id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  60. sa.Column("created_at", sa.DateTime(), server_default=sa.text("CURRENT_TIMESTAMP"), nullable=False),
  61. sa.Column("updated_at", sa.DateTime(), server_default=sa.text("null"), nullable=True),
  62. sa.Column("role", sa.Enum("assistant", "user", "system", "function", "tool"), nullable=False),
  63. sa.Column("thread_id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  64. sa.Column("object", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  65. sa.Column("content", sa.JSON(), nullable=True),
  66. sa.Column("file_ids", sa.JSON(), nullable=True),
  67. sa.Column("metadata", sa.JSON(), nullable=True),
  68. sa.Column("assistant_id", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
  69. sa.Column("run_id", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
  70. sa.PrimaryKeyConstraint("id"),
  71. )
  72. op.create_table(
  73. "message_file",
  74. sa.Column("created_at", sa.DateTime(), server_default=sa.text("CURRENT_TIMESTAMP"), nullable=False),
  75. sa.Column("updated_at", sa.DateTime(), server_default=sa.text("null"), nullable=True),
  76. sa.Column("id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  77. sa.Column("message_id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  78. sa.Column("object", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  79. sa.PrimaryKeyConstraint("id"),
  80. )
  81. op.create_table(
  82. "run",
  83. sa.Column("created_at", sa.DateTime(), server_default=sa.text("CURRENT_TIMESTAMP"), nullable=False),
  84. sa.Column("updated_at", sa.DateTime(), server_default=sa.text("null"), nullable=True),
  85. sa.Column("id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  86. sa.Column("instructions", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
  87. sa.Column("model", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
  88. sa.Column(
  89. "status",
  90. sa.Enum(
  91. "cancelled", "cancelling", "completed", "expired", "failed", "in_progress", "queued", "requires_action"
  92. ),
  93. nullable=True,
  94. ),
  95. sa.Column("assistant_id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  96. sa.Column("thread_id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  97. sa.Column("object", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  98. sa.Column("file_ids", sa.JSON(), nullable=True),
  99. sa.Column("metadata", sa.JSON(), nullable=True),
  100. sa.Column("last_error", sa.JSON(), nullable=True),
  101. sa.Column("required_action", sa.JSON(), nullable=True),
  102. sa.Column("tools", sa.JSON(), nullable=True),
  103. sa.Column("started_at", sa.DateTime(), nullable=True),
  104. sa.Column("completed_at", sa.DateTime(), nullable=True),
  105. sa.Column("cancelled_at", sa.DateTime(), nullable=True),
  106. sa.Column("expires_at", sa.DateTime(), nullable=True),
  107. sa.Column("failed_at", sa.DateTime(), nullable=True),
  108. sa.PrimaryKeyConstraint("id"),
  109. )
  110. op.create_table(
  111. "run_step",
  112. sa.Column("created_at", sa.DateTime(), server_default=sa.text("CURRENT_TIMESTAMP"), nullable=False),
  113. sa.Column("updated_at", sa.DateTime(), server_default=sa.text("null"), nullable=True),
  114. sa.Column("id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  115. sa.Column("status", sa.Enum("cancelled", "completed", "expired", "failed", "in_progress"), nullable=False),
  116. sa.Column("type", sa.Enum("message_creation", "tool_calls"), nullable=False),
  117. sa.Column("assistant_id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  118. sa.Column("thread_id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  119. sa.Column("run_id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  120. sa.Column("object", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  121. sa.Column("metadata", sa.JSON(), nullable=True),
  122. sa.Column("last_error", sa.JSON(), nullable=True),
  123. sa.Column("step_details", sa.JSON(), nullable=True),
  124. sa.Column("completed_at", sa.DateTime(), nullable=True),
  125. sa.Column("cancelled_at", sa.DateTime(), nullable=True),
  126. sa.Column("expires_at", sa.DateTime(), nullable=True),
  127. sa.Column("failed_at", sa.DateTime(), nullable=True),
  128. sa.Column("message_id", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
  129. sa.PrimaryKeyConstraint("id"),
  130. )
  131. op.create_index("run_step_run_id_idx", "run_step", ["run_id"], unique=False)
  132. op.create_index("run_step_run_id_type_idx", "run_step", ["run_id", "type"], unique=False)
  133. op.create_table(
  134. "thread",
  135. sa.Column("created_at", sa.DateTime(), server_default=sa.text("CURRENT_TIMESTAMP"), nullable=False),
  136. sa.Column("updated_at", sa.DateTime(), server_default=sa.text("null"), nullable=True),
  137. sa.Column("id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  138. sa.Column("object", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
  139. sa.Column("metadata", sa.JSON(), nullable=True),
  140. sa.PrimaryKeyConstraint("id"),
  141. )
  142. # ### end Alembic commands ###
  143. def downgrade() -> None:
  144. # ### commands auto generated by Alembic - please adjust! ###
  145. op.drop_table("thread")
  146. op.drop_index("run_step_run_id_type_idx", table_name="run_step")
  147. op.drop_index("run_step_run_id_idx", table_name="run_step")
  148. op.drop_table("run_step")
  149. op.drop_table("run")
  150. op.drop_table("message_file")
  151. op.drop_table("message")
  152. op.drop_index("file_purpose_idx", table_name="file")
  153. op.drop_table("file")
  154. op.drop_index("assistant_file_assistant_id_id_idx", table_name="assistant_file")
  155. op.drop_table("assistant_file")
  156. op.drop_table("assistant")
  157. # ### end Alembic commands ###