浏览代码

fix(models): use bigint on workflow_runs.total_tokens (#12279)

Signed-off-by: -LAN- <laipz8200@outlook.com>
-LAN- 3 月之前
父节点
当前提交
a640803fc9

+ 41 - 0
api/migrations/versions/2025_01_01_2000-a91b476a53de_change_workflow_runs_total_tokens_to_.py

@@ -0,0 +1,41 @@
+"""change workflow_runs.total_tokens to bigint
+
+Revision ID: a91b476a53de
+Revises: 923752d42eb6
+Create Date: 2025-01-01 20:00:01.207369
+
+"""
+from alembic import op
+import models as models
+import sqlalchemy as sa
+
+
+# revision identifiers, used by Alembic.
+revision = 'a91b476a53de'
+down_revision = '923752d42eb6'
+branch_labels = None
+depends_on = None
+
+
+def upgrade():
+    # ### commands auto generated by Alembic - please adjust! ###
+    with op.batch_alter_table('workflow_runs', schema=None) as batch_op:
+        batch_op.alter_column('total_tokens',
+               existing_type=sa.INTEGER(),
+               type_=sa.BigInteger(),
+               existing_nullable=False,
+               existing_server_default=sa.text('0'))
+
+    # ### end Alembic commands ###
+
+
+def downgrade():
+    # ### commands auto generated by Alembic - please adjust! ###
+    with op.batch_alter_table('workflow_runs', schema=None) as batch_op:
+        batch_op.alter_column('total_tokens',
+               existing_type=sa.BigInteger(),
+               type_=sa.INTEGER(),
+               existing_nullable=False,
+               existing_server_default=sa.text('0'))
+
+    # ### end Alembic commands ###

+ 2 - 2
api/models/workflow.py

@@ -405,8 +405,8 @@ class WorkflowRun(db.Model):  # type: ignore[name-defined]
     status: Mapped[str] = mapped_column(db.String(255))  # running, succeeded, failed, stopped, partial-succeeded
     outputs: Mapped[Optional[str]] = mapped_column(sa.Text, default="{}")
     error: Mapped[Optional[str]] = mapped_column(db.Text)
-    elapsed_time = db.Column(db.Float, nullable=False, server_default=db.text("0"))
-    total_tokens: Mapped[int] = mapped_column(server_default=db.text("0"))
+    elapsed_time = db.Column(db.Float, nullable=False, server_default=sa.text("0"))
+    total_tokens: Mapped[int] = mapped_column(sa.BigInteger, server_default=sa.text("0"))
     total_steps = db.Column(db.Integer, server_default=db.text("0"))
     created_by_role: Mapped[str] = mapped_column(db.String(255))  # account, end_user
     created_by = db.Column(StringUUID, nullable=False)