jack 1 kuukausi sitten
vanhempi
commit
3b6b1d571c

+ 4 - 4
docker/entrypoint.sh

@@ -2,10 +2,10 @@
 
 set -e
 
-#if [[ "${MIGRATION_ENABLED}" == "true" ]]; then
-#  echo "Running migrations"
-#  alembic upgrade head
-#fi
+if [[ "${MIGRATION_ENABLED}" == "true" ]]; then
+  echo "Running migrations"
+  alembic upgrade head
+fi
 
 if [[ "${MODE}" == "worker" ]]; then
   echo "celery run"

+ 0 - 1
migrations/migrations/README

@@ -1 +0,0 @@
-Generic single-database configuration.

+ 0 - 71
migrations/migrations/env.py

@@ -1,71 +0,0 @@
-from __future__ import with_statement
-import asyncio
-from logging.config import fileConfig
-from sqlmodel import SQLModel, create_engine
-from alembic import context
-import sys
-import pathlib
-
-sys.path.append(str(pathlib.Path(__file__).resolve().parents[1]))
-
-from config.database import db_settings
-from app.models import *  # noqa; necessarily to import something from file where your models are stored
-
-# this is the Alembic Config object, which provides
-# access to the values within the .ini file in use.
-config = context.config
-
-# Interpret the config file for Python logging.
-# This line sets up loggers basically.
-fileConfig(config.config_file_name)
-
-target_metadata = SQLModel.metadata
-
-db_url = db_settings.database_url
-
-
-# other values from the config, defined by the needs of env.py,
-# can be acquired:
-# my_important_option = config.get_main_option("my_important_option")
-# ... etc.
-
-
-def run_migrations_offline():
-    """Run migrations in 'offline' mode.
-    This configures the context with just a URL
-    and not an Engine, though an Engine is acceptable
-    here as well.  By skipping the Engine creation
-    we don't even need a DBAPI to be available.
-    Calls to context.execute() here emit the given string to the
-    script output.
-    """
-    context.configure(
-        url=db_url,
-        target_metadata=target_metadata,
-        literal_binds=True,
-        compare_type=True,
-        dialect_opts={"paramstyle": "named"},
-    )
-
-    with context.begin_transaction():
-        context.run_migrations()
-
-
-async def run_migrations_online():
-    """Run migrations in 'online' mode.
-    In this scenario we need to create an Engine
-    and associate a connection with the context.
-    """
-    connectable = create_engine(db_url, echo=True)
-
-    with connectable.connect() as connection:
-        context.configure(connection=connection, target_metadata=target_metadata)
-
-        with context.begin_transaction():
-            context.run_migrations()
-
-
-if context.is_offline_mode():
-    run_migrations_offline()
-else:
-    asyncio.run(run_migrations_online())

+ 0 - 27
migrations/migrations/script.py.mako

@@ -1,27 +0,0 @@
-"""${message}
-
-Revision ID: ${up_revision}
-Revises: ${down_revision | comma,n}
-Create Date: ${create_date}
-
-"""
-from typing import Sequence, Union
-
-from alembic import op
-import sqlalchemy as sa
-import sqlmodel
-${imports if imports else ""}
-
-# revision identifiers, used by Alembic.
-revision: str = ${repr(up_revision)}
-down_revision: Union[str, None] = ${repr(down_revision)}
-branch_labels: Union[str, Sequence[str], None] = ${repr(branch_labels)}
-depends_on: Union[str, Sequence[str], None] = ${repr(depends_on)}
-
-
-def upgrade() -> None:
-    ${upgrades if upgrades else "pass"}
-
-
-def downgrade() -> None:
-    ${downgrades if downgrades else "pass"}

+ 0 - 166
migrations/migrations/versions/2023-12-13-15-09_eacc2313d69c.py

@@ -1,166 +0,0 @@
-"""empty message
-
-Revision ID: eacc2313d69c
-Revises:
-Create Date: 2023-12-13 15:09:59.056426
-
-"""
-from typing import Sequence, Union
-
-from alembic import op
-import sqlalchemy as sa
-import sqlmodel
-
-
-# revision identifiers, used by Alembic.
-revision: str = "eacc2313d69c"
-down_revision: Union[str, None] = None
-branch_labels: Union[str, Sequence[str], None] = None
-depends_on: Union[str, Sequence[str], None] = None
-
-
-def upgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.create_table(
-        "assistant",
-        sa.Column("created_at", sa.DateTime(), server_default=sa.text("CURRENT_TIMESTAMP"), nullable=False),
-        sa.Column("updated_at", sa.DateTime(), server_default=sa.text("null"), nullable=True),
-        sa.Column("id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("model", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("object", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("description", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
-        sa.Column("file_ids", sa.JSON(), nullable=True),
-        sa.Column("instructions", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
-        sa.Column("metadata", sa.JSON(), nullable=True),
-        sa.Column("name", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
-        sa.Column("tools", sa.JSON(), nullable=True),
-        sa.PrimaryKeyConstraint("id"),
-    )
-    op.create_table(
-        "assistant_file",
-        sa.Column("created_at", sa.DateTime(), server_default=sa.text("CURRENT_TIMESTAMP"), nullable=False),
-        sa.Column("updated_at", sa.DateTime(), server_default=sa.text("null"), nullable=True),
-        sa.Column("id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("assistant_id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("object", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.PrimaryKeyConstraint("id"),
-    )
-    op.create_index("assistant_file_assistant_id_id_idx", "assistant_file", ["assistant_id", "id"], unique=False)
-    op.create_table(
-        "file",
-        sa.Column("created_at", sa.DateTime(), server_default=sa.text("CURRENT_TIMESTAMP"), nullable=False),
-        sa.Column("updated_at", sa.DateTime(), server_default=sa.text("null"), nullable=True),
-        sa.Column("id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("bytes", sa.Integer(), nullable=False),
-        sa.Column("filename", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("purpose", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("object", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("key", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("status", sa.Enum("error", "processed", "uploaded"), nullable=True),
-        sa.Column("status_details", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
-        sa.PrimaryKeyConstraint("id"),
-    )
-    op.create_index("file_purpose_idx", "file", ["purpose"], unique=False)
-    op.create_table(
-        "message",
-        sa.Column("id", sqlmodel.sql.sqltypes.AutoString(), 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("null"), nullable=True),
-        sa.Column("role", sa.Enum("assistant", "user", "system", "function", "tool"), nullable=False),
-        sa.Column("thread_id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("object", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("content", sa.JSON(), nullable=True),
-        sa.Column("file_ids", sa.JSON(), nullable=True),
-        sa.Column("metadata", sa.JSON(), nullable=True),
-        sa.Column("assistant_id", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
-        sa.Column("run_id", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
-        sa.PrimaryKeyConstraint("id"),
-    )
-    op.create_table(
-        "message_file",
-        sa.Column("created_at", sa.DateTime(), server_default=sa.text("CURRENT_TIMESTAMP"), nullable=False),
-        sa.Column("updated_at", sa.DateTime(), server_default=sa.text("null"), nullable=True),
-        sa.Column("id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("message_id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("object", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.PrimaryKeyConstraint("id"),
-    )
-    op.create_table(
-        "run",
-        sa.Column("created_at", sa.DateTime(), server_default=sa.text("CURRENT_TIMESTAMP"), nullable=False),
-        sa.Column("updated_at", sa.DateTime(), server_default=sa.text("null"), nullable=True),
-        sa.Column("id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("instructions", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
-        sa.Column("model", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
-        sa.Column(
-            "status",
-            sa.Enum(
-                "cancelled", "cancelling", "completed", "expired", "failed", "in_progress", "queued", "requires_action"
-            ),
-            nullable=True,
-        ),
-        sa.Column("assistant_id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("thread_id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("object", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("file_ids", sa.JSON(), nullable=True),
-        sa.Column("metadata", sa.JSON(), nullable=True),
-        sa.Column("last_error", sa.JSON(), nullable=True),
-        sa.Column("required_action", sa.JSON(), nullable=True),
-        sa.Column("tools", sa.JSON(), nullable=True),
-        sa.Column("started_at", sa.DateTime(), nullable=True),
-        sa.Column("completed_at", sa.DateTime(), nullable=True),
-        sa.Column("cancelled_at", sa.DateTime(), nullable=True),
-        sa.Column("expires_at", sa.DateTime(), nullable=True),
-        sa.Column("failed_at", sa.DateTime(), nullable=True),
-        sa.PrimaryKeyConstraint("id"),
-    )
-    op.create_table(
-        "run_step",
-        sa.Column("created_at", sa.DateTime(), server_default=sa.text("CURRENT_TIMESTAMP"), nullable=False),
-        sa.Column("updated_at", sa.DateTime(), server_default=sa.text("null"), nullable=True),
-        sa.Column("id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("status", sa.Enum("cancelled", "completed", "expired", "failed", "in_progress"), nullable=False),
-        sa.Column("type", sa.Enum("message_creation", "tool_calls"), nullable=False),
-        sa.Column("assistant_id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("thread_id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("run_id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("object", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("metadata", sa.JSON(), nullable=True),
-        sa.Column("last_error", sa.JSON(), nullable=True),
-        sa.Column("step_details", sa.JSON(), nullable=True),
-        sa.Column("completed_at", sa.DateTime(), nullable=True),
-        sa.Column("cancelled_at", sa.DateTime(), nullable=True),
-        sa.Column("expires_at", sa.DateTime(), nullable=True),
-        sa.Column("failed_at", sa.DateTime(), nullable=True),
-        sa.Column("message_id", sqlmodel.sql.sqltypes.AutoString(), nullable=True),
-        sa.PrimaryKeyConstraint("id"),
-    )
-    op.create_index("run_step_run_id_idx", "run_step", ["run_id"], unique=False)
-    op.create_index("run_step_run_id_type_idx", "run_step", ["run_id", "type"], unique=False)
-    op.create_table(
-        "thread",
-        sa.Column("created_at", sa.DateTime(), server_default=sa.text("CURRENT_TIMESTAMP"), nullable=False),
-        sa.Column("updated_at", sa.DateTime(), server_default=sa.text("null"), nullable=True),
-        sa.Column("id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("object", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("metadata", sa.JSON(), nullable=True),
-        sa.PrimaryKeyConstraint("id"),
-    )
-    # ### end Alembic commands ###
-
-
-def downgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.drop_table("thread")
-    op.drop_index("run_step_run_id_type_idx", table_name="run_step")
-    op.drop_index("run_step_run_id_idx", table_name="run_step")
-    op.drop_table("run_step")
-    op.drop_table("run")
-    op.drop_table("message_file")
-    op.drop_table("message")
-    op.drop_index("file_purpose_idx", table_name="file")
-    op.drop_table("file")
-    op.drop_index("assistant_file_assistant_id_id_idx", table_name="assistant_file")
-    op.drop_table("assistant_file")
-    op.drop_table("assistant")
-    # ### end Alembic commands ###

+ 0 - 45
migrations/migrations/versions/2024-01-07-17-46_66734dc3664b.py

@@ -1,45 +0,0 @@
-"""empty message
-
-Revision ID: 66734dc3664b
-Revises: 38c796c62e21
-Create Date: 2024-01-07 17:46:55.736276
-
-"""
-from typing import Sequence, Union
-
-from alembic import op
-import sqlalchemy as sa
-import sqlmodel
-from sqlalchemy.dialects import mysql
-
-# revision identifiers, used by Alembic.
-revision: str = '66734dc3664b'
-down_revision: Union[str, None] = 'eacc2313d69c'
-branch_labels: Union[str, Sequence[str], None] = None
-depends_on: Union[str, Sequence[str], None] = None
-
-
-def upgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.alter_column('assistant', 'instructions',
-               existing_type=mysql.VARCHAR(length=255),
-               type_=sa.TEXT(),
-               existing_nullable=True)
-    op.alter_column('run', 'instructions',
-               existing_type=mysql.VARCHAR(length=255),
-               type_=sa.TEXT(),
-               existing_nullable=True)
-    # ### end Alembic commands ###
-
-
-def downgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.alter_column('run', 'instructions',
-               existing_type=sa.TEXT(),
-               type_=mysql.VARCHAR(length=255),
-               existing_nullable=True)
-    op.alter_column('assistant', 'instructions',
-               existing_type=sa.TEXT(),
-               type_=mysql.VARCHAR(length=255),
-               existing_nullable=True)
-    # ### end Alembic commands ###

+ 0 - 29
migrations/migrations/versions/2024-01-18-17-17_6db192bc124b.py

@@ -1,29 +0,0 @@
-"""empty message
-
-Revision ID: 6db192bc124b
-Revises: 66734dc3664b
-Create Date: 2024-01-18 17:17:53.932240
-
-"""
-from typing import Sequence, Union
-
-import sqlalchemy as sa
-from alembic import op
-
-# revision identifiers, used by Alembic.
-revision: str = '6db192bc124b'
-down_revision: Union[str, None] = '66734dc3664b'
-branch_labels: Union[str, Sequence[str], None] = None
-depends_on: Union[str, Sequence[str], None] = None
-
-
-def upgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.add_column('run', sa.Column('additional_instructions', sa.TEXT(), nullable=True))
-    # ### end Alembic commands ###
-
-
-def downgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.drop_column('run', 'additional_instructions')
-    # ### end Alembic commands ###

+ 0 - 50
migrations/migrations/versions/2024-01-25-15-41_283e8cbdf17a.py

@@ -1,50 +0,0 @@
-"""empty message
-
-Revision ID: 283e8cbdf17a
-Revises: 6db192bc124b
-Create Date: 2024-01-25 15:41:50.410216
-
-"""
-from typing import Sequence, Union
-
-from alembic import op
-import sqlalchemy as sa
-import sqlmodel
-
-
-# revision identifiers, used by Alembic.
-revision: str = '283e8cbdf17a'
-down_revision: Union[str, None] = '6db192bc124b'
-branch_labels: Union[str, Sequence[str], None] = None
-depends_on: Union[str, Sequence[str], None] = None
-
-
-def upgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.create_table('token',
-    sa.Column('id', sqlmodel.sql.sqltypes.AutoString(), 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('null'), nullable=True),
-    sa.Column('llm_base_url', sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-    sa.Column('llm_api_key', sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-    sa.Column('description', sqlmodel.sql.sqltypes.AutoString(), nullable=True),
-    sa.Column('assistant_token', sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-    sa.PrimaryKeyConstraint('id')
-    )
-    op.create_table('token_relation',
-    sa.Column('id', sqlmodel.sql.sqltypes.AutoString(), 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('null'), nullable=True),
-    sa.Column('token_id', sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-    sa.Column('relation_type', sa.Enum('Assistant', 'File', 'Thread', name='relationtype'), nullable=False),
-    sa.Column('relation_id', sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-    sa.PrimaryKeyConstraint('id')
-    )
-    # ### end Alembic commands ###
-
-
-def downgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.drop_table('token_relation')
-    op.drop_table('token')
-    # ### end Alembic commands ###

+ 0 - 62
migrations/migrations/versions/2024-02-23-15-55_e7339aab6549.py

@@ -1,62 +0,0 @@
-"""add action
-
-Revision ID: e7339aab6549
-Revises: 283e8cbdf17a
-Create Date: 2024-02-23 15:55:52.440984
-
-"""
-
-from typing import Sequence, Union
-
-from alembic import op
-import sqlalchemy as sa
-import sqlmodel
-
-
-# revision identifiers, used by Alembic.
-revision: str = "e7339aab6549"
-down_revision: Union[str, None] = "283e8cbdf17a"
-branch_labels: Union[str, Sequence[str], None] = None
-depends_on: Union[str, Sequence[str], None] = None
-
-
-def upgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.create_table(
-        "action",
-        sa.Column("created_at", sa.DateTime(), server_default=sa.text("CURRENT_TIMESTAMP"), nullable=False),
-        sa.Column("updated_at", sa.DateTime(), server_default=sa.text("null"), nullable=True),
-        sa.Column("id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("name", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("description", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("openapi_schema", sa.JSON(), nullable=True),
-        sa.Column("authentication", sa.JSON(), nullable=True),
-        sa.Column("extra", sa.JSON(), nullable=True),
-        sa.Column("metadata", sa.JSON(), nullable=True),
-        sa.Column("operation_id", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("url", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("method", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("path_param_schema", sa.JSON(), nullable=True),
-        sa.Column("query_param_schema", sa.JSON(), nullable=True),
-        sa.Column("body_param_schema", sa.JSON(), nullable=True),
-        sa.Column("body_type", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("function_def", sa.JSON(), nullable=True),
-        sa.Column("object", sqlmodel.sql.sqltypes.AutoString(), nullable=False),
-        sa.Column("use_for_everyone", sa.Boolean(), default=False, nullable=False),
-        sa.PrimaryKeyConstraint("id"),
-    )
-    op.add_column("run", sa.Column("extra_body", sa.JSON(), nullable=True))
-    op.execute(
-        " ALTER TABLE token_relation MODIFY COLUMN relation_type enum('Assistant','File','Thread','Action') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL;"
-    )
-    # ### end Alembic commands ###
-
-
-def downgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.drop_table("action")
-    op.drop_column("run", "extra_body")
-    op.execute(
-        "ALTER TABLE token_relation MODIFY COLUMN relation_type enum('Assistant','File','Thread') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL;"
-    )
-    # ### end Alembic commands ###

+ 0 - 31
migrations/migrations/versions/2024-03-19-15-27_8dbb8f38ef77.py

@@ -1,31 +0,0 @@
-"""add extra body to assistants
-
-Revision ID: 8dbb8f38ef77
-Revises: e7339aab6549
-Create Date: 2024-03-19 15:27:39.793603
-
-"""
-from typing import Sequence, Union
-
-from alembic import op
-import sqlalchemy as sa
-import sqlmodel
-
-
-# revision identifiers, used by Alembic.
-revision: str = '8dbb8f38ef77'
-down_revision: Union[str, None] = 'e7339aab6549'
-branch_labels: Union[str, Sequence[str], None] = None
-depends_on: Union[str, Sequence[str], None] = None
-
-
-def upgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.add_column('assistant', sa.Column('extra_body', sa.JSON(), nullable=True))
-    # ### end Alembic commands ###
-
-
-def downgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.drop_column('assistant', 'extra_body')
-    # ### end Alembic commands ###

+ 0 - 56
migrations/migrations/versions/2024-04-22-17-19_aa4bda3363e3.py

@@ -1,56 +0,0 @@
-"""update models
-
-Revision ID: aa4bda3363e3
-Revises: 8dbb8f38ef77
-Create Date: 2024-04-22 17:19:59.829072
-
-"""
-
-from typing import Sequence, Union
-
-from alembic import op
-import sqlalchemy as sa
-import sqlmodel
-
-
-# revision identifiers, used by Alembic.
-revision: str = "aa4bda3363e3"
-down_revision: Union[str, None] = "8dbb8f38ef77"
-branch_labels: Union[str, Sequence[str], None] = None
-depends_on: Union[str, Sequence[str], None] = None
-
-
-def upgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.add_column("assistant", sa.Column("response_format", sqlmodel.sql.sqltypes.AutoString(), nullable=True))
-    op.add_column("assistant", sa.Column("tool_resources", sa.JSON(), nullable=True))
-    op.add_column("assistant", sa.Column("temperature", sa.Float(), nullable=True))
-    op.add_column("assistant", sa.Column("top_p", sa.Float(), nullable=True))
-    op.add_column("run", sa.Column("incomplete_details", sqlmodel.sql.sqltypes.AutoString(), nullable=True))
-    op.add_column("run", sa.Column("max_completion_tokens", sa.Integer(), nullable=True))
-    op.add_column("run", sa.Column("max_prompt_tokens", sa.Integer(), nullable=True))
-    op.add_column("run", sa.Column("response_format", sqlmodel.sql.sqltypes.AutoString(), nullable=True))
-    op.add_column("run", sa.Column("tool_choice", sqlmodel.sql.sqltypes.AutoString(), nullable=True))
-    op.add_column("run", sa.Column("truncation_strategy", sa.JSON(), nullable=True))
-    op.add_column("run", sa.Column("usage", sa.JSON(), nullable=True))
-    op.add_column("run", sa.Column("temperature", sa.Float(), nullable=True))
-    op.add_column("run", sa.Column("top_p", sa.Float(), nullable=True))
-    # ### end Alembic commands ###
-
-
-def downgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.drop_column("run", "top_p")
-    op.drop_column("run", "temperature")
-    op.drop_column("run", "usage")
-    op.drop_column("run", "truncation_strategy")
-    op.drop_column("run", "tool_choice")
-    op.drop_column("run", "response_format")
-    op.drop_column("run", "max_prompt_tokens")
-    op.drop_column("run", "max_completion_tokens")
-    op.drop_column("run", "incomplete_details")
-    op.drop_column("assistant", "top_p")
-    op.drop_column("assistant", "temperature")
-    op.drop_column("assistant", "tool_resources")
-    op.drop_column("assistant", "response_format")
-    # ### end Alembic commands ###

+ 0 - 45
migrations/migrations/versions/2024-05-28-11-35_1c667e62f698.py

@@ -1,45 +0,0 @@
-"""empty message
-
-Revision ID: 1c667e62f698
-Revises: aa4bda3363e3
-Create Date: 2024-05-28 11:35:33.961196
-
-"""
-from typing import Sequence, Union
-
-from alembic import op
-import sqlalchemy as sa
-import sqlmodel
-from sqlalchemy.dialects import mysql
-
-# revision identifiers, used by Alembic.
-revision: str = '1c667e62f698'
-down_revision: Union[str, None] = 'aa4bda3363e3'
-branch_labels: Union[str, Sequence[str], None] = None
-depends_on: Union[str, Sequence[str], None] = None
-
-
-def upgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.alter_column('assistant', 'response_format',
-               existing_type=mysql.VARCHAR(collation='utf8mb4_unicode_ci', length=255),
-               type_=sa.JSON(),
-               existing_nullable=True)
-    op.alter_column('run', 'response_format',
-               existing_type=mysql.VARCHAR(collation='utf8mb4_unicode_ci', length=255),
-               type_=sa.JSON(),
-               existing_nullable=True)
-    # ### end Alembic commands ###
-
-
-def downgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.alter_column('run', 'response_format',
-               existing_type=sa.JSON(),
-               type_=mysql.VARCHAR(collation='utf8mb4_unicode_ci', length=255),
-               existing_nullable=True)
-    op.alter_column('assistant', 'response_format',
-               existing_type=sa.JSON(),
-               type_=mysql.VARCHAR(collation='utf8mb4_unicode_ci', length=255),
-               existing_nullable=True)
-    # ### end Alembic commands ###

+ 0 - 35
migrations/migrations/versions/2024-08-23-15-24_b217fafdb5f0.py

@@ -1,35 +0,0 @@
-"""empty message
-
-Revision ID: b217fafdb5f0
-Revises: 1c667e62f698
-Create Date: 2024-08-23 15:24:41.917447
-
-"""
-from typing import Sequence, Union
-
-from alembic import op
-import sqlalchemy as sa
-import sqlmodel
-
-
-# revision identifiers, used by Alembic.
-revision: str = 'b217fafdb5f0'
-down_revision: Union[str, None] = '1c667e62f698'
-branch_labels: Union[str, Sequence[str], None] = None
-depends_on: Union[str, Sequence[str], None] = None
-
-
-def upgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.add_column('message', sa.Column('attachments', sa.JSON(), nullable=True))
-    op.add_column('thread', sa.Column('tool_resources', sa.JSON(), nullable=True))
-    op.create_index('token_assistant_token_idx', 'token', ['assistant_token'], unique=True)
-    # ### end Alembic commands ###
-
-
-def downgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.drop_index('token_assistant_token_idx', table_name='token')
-    op.drop_column('thread', 'tool_resources')
-    op.drop_column('message', 'attachments')
-    # ### end Alembic commands ###

+ 0 - 31
migrations/migrations/versions/2024-11-15-18-30_5b2b73d0fdf6.py

@@ -1,31 +0,0 @@
-"""empty message
-
-Revision ID: 5b2b73d0fdf6
-Revises: b217fafdb5f0
-Create Date: 2024-11-15 18:30:43.391344
-
-"""
-from typing import Sequence, Union
-
-from alembic import op
-import sqlalchemy as sa
-import sqlmodel
-
-
-# revision identifiers, used by Alembic.
-revision: str = '5b2b73d0fdf6'
-down_revision: Union[str, None] = 'b217fafdb5f0'
-branch_labels: Union[str, Sequence[str], None] = None
-depends_on: Union[str, Sequence[str], None] = None
-
-
-def upgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.add_column('run', sa.Column('stream_options', sa.JSON(), nullable=True))
-    # ### end Alembic commands ###
-
-
-def downgrade() -> None:
-    # ### commands auto generated by Alembic - please adjust! ###
-    op.drop_column('run', 'stream_options')
-    # ### end Alembic commands ###