added uniqueness constraint to human task so it cannot have multiple human tasks for a process instance and task id w/ burnettk (#396)
Co-authored-by: jasquat <jasquat@users.noreply.github.com>
This commit is contained in:
parent
9a1c23f22b
commit
9b199cad71
|
@ -0,0 +1,32 @@
|
||||||
|
"""empty message
|
||||||
|
|
||||||
|
Revision ID: 56e17aab85ca
|
||||||
|
Revises: 64adf34a98db
|
||||||
|
Create Date: 2023-07-14 11:54:20.187703
|
||||||
|
|
||||||
|
"""
|
||||||
|
from alembic import op
|
||||||
|
import sqlalchemy as sa
|
||||||
|
|
||||||
|
|
||||||
|
# revision identifiers, used by Alembic.
|
||||||
|
revision = '56e17aab85ca'
|
||||||
|
down_revision = '64adf34a98db'
|
||||||
|
branch_labels = None
|
||||||
|
depends_on = None
|
||||||
|
|
||||||
|
|
||||||
|
def upgrade():
|
||||||
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
|
with op.batch_alter_table('human_task', schema=None) as batch_op:
|
||||||
|
batch_op.create_unique_constraint('process_instance_task_unique', ['process_instance_id', 'task_id'])
|
||||||
|
|
||||||
|
# ### end Alembic commands ###
|
||||||
|
|
||||||
|
|
||||||
|
def downgrade():
|
||||||
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
|
with op.batch_alter_table('human_task', schema=None) as batch_op:
|
||||||
|
batch_op.drop_constraint('process_instance_task_unique', type_='unique')
|
||||||
|
|
||||||
|
# ### end Alembic commands ###
|
|
@ -23,6 +23,14 @@ if TYPE_CHECKING:
|
||||||
class HumanTaskModel(SpiffworkflowBaseDBModel):
|
class HumanTaskModel(SpiffworkflowBaseDBModel):
|
||||||
__tablename__ = "human_task"
|
__tablename__ = "human_task"
|
||||||
|
|
||||||
|
__table_args__ = (
|
||||||
|
db.UniqueConstraint(
|
||||||
|
"process_instance_id",
|
||||||
|
"task_id",
|
||||||
|
name="process_instance_task_unique",
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
id: int = db.Column(db.Integer, primary_key=True)
|
id: int = db.Column(db.Integer, primary_key=True)
|
||||||
process_instance_id: int = db.Column(
|
process_instance_id: int = db.Column(
|
||||||
ForeignKey(ProcessInstanceModel.id), nullable=False, index=True # type: ignore
|
ForeignKey(ProcessInstanceModel.id), nullable=False, index=True # type: ignore
|
||||||
|
|
Loading…
Reference in New Issue