Przeglądaj źródła

fix: workflow run sequence number slow sql (#4737)

takatost 11 miesięcy temu
rodzic
commit
9e6b6e7b82

+ 32 - 0
api/migrations/versions/64a70a7aab8b_add_workflow_run_index.py

@@ -0,0 +1,32 @@
+"""add workflow run index
+
+Revision ID: 64a70a7aab8b
+Revises: 03f98355ba0e
+Create Date: 2024-05-28 12:32:00.276061
+
+"""
+from alembic import op
+
+import models as models
+
+# revision identifiers, used by Alembic.
+revision = '64a70a7aab8b'
+down_revision = '03f98355ba0e'
+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.create_index('workflow_run_tenant_app_sequence_idx', ['tenant_id', 'app_id', 'sequence_number'], unique=False)
+
+    # ### 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.drop_index('workflow_run_tenant_app_sequence_idx')
+
+    # ### end Alembic commands ###

+ 1 - 0
api/models/workflow.py

@@ -263,6 +263,7 @@ class WorkflowRun(db.Model):
     __table_args__ = (
         db.PrimaryKeyConstraint('id', name='workflow_run_pkey'),
         db.Index('workflow_run_triggerd_from_idx', 'tenant_id', 'app_id', 'triggered_from'),
+        db.Index('workflow_run_tenant_app_sequence_idx', 'tenant_id', 'app_id', 'sequence_number'),
     )
 
     id = db.Column(StringUUID, server_default=db.text('uuid_generate_v4()'))