mirror of
https://github.com/sartography/spiff-arena.git
synced 2025-02-23 22:58:09 +00:00
removed process instance data and serialized bpmn definition models w/ burnettk
This commit is contained in:
parent
e57e10a906
commit
5948addc66
@ -1,3 +1,5 @@
|
|||||||
|
from __future__ import with_statement
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from logging.config import fileConfig
|
from logging.config import fileConfig
|
||||||
|
|
||||||
|
@ -1,43 +0,0 @@
|
|||||||
"""empty message
|
|
||||||
|
|
||||||
Revision ID: 1e8167de6df8
|
|
||||||
Revises: 8930711a75a4
|
|
||||||
Create Date: 2023-03-02 15:18:19.515864
|
|
||||||
|
|
||||||
"""
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
|
||||||
|
|
||||||
|
|
||||||
# revision identifiers, used by Alembic.
|
|
||||||
revision = '1e8167de6df8'
|
|
||||||
down_revision = '8930711a75a4'
|
|
||||||
branch_labels = None
|
|
||||||
depends_on = None
|
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
|
||||||
# ### commands auto generated by Alembic - please adjust! ###
|
|
||||||
op.create_table('process_instance_file_data',
|
|
||||||
sa.Column('id', sa.Integer(), nullable=False),
|
|
||||||
sa.Column('process_instance_id', sa.Integer(), nullable=False),
|
|
||||||
sa.Column('identifier', sa.String(length=255), nullable=False),
|
|
||||||
sa.Column('list_index', sa.Integer(), nullable=True),
|
|
||||||
sa.Column('mimetype', sa.String(length=255), nullable=False),
|
|
||||||
sa.Column('filename', sa.String(length=255), nullable=False),
|
|
||||||
sa.Column('contents', sa.LargeBinary(), nullable=False),
|
|
||||||
sa.Column('digest', sa.String(length=64), nullable=False),
|
|
||||||
sa.Column('updated_at_in_seconds', sa.Integer(), nullable=False),
|
|
||||||
sa.Column('created_at_in_seconds', sa.Integer(), nullable=False),
|
|
||||||
sa.ForeignKeyConstraint(['process_instance_id'], ['process_instance.id'], ),
|
|
||||||
sa.PrimaryKeyConstraint('id')
|
|
||||||
)
|
|
||||||
op.create_index(op.f('ix_process_instance_file_data_digest'), 'process_instance_file_data', ['digest'], unique=False)
|
|
||||||
# ### end Alembic commands ###
|
|
||||||
|
|
||||||
|
|
||||||
def downgrade():
|
|
||||||
# ### commands auto generated by Alembic - please adjust! ###
|
|
||||||
op.drop_index(op.f('ix_process_instance_file_data_digest'), table_name='process_instance_file_data')
|
|
||||||
op.drop_table('process_instance_file_data')
|
|
||||||
# ### end Alembic commands ###
|
|
@ -1,8 +1,8 @@
|
|||||||
"""empty message
|
"""empty message
|
||||||
|
|
||||||
Revision ID: ac6b60d7fee9
|
Revision ID: 55b76c4528c5
|
||||||
Revises:
|
Revises:
|
||||||
Create Date: 2023-02-27 22:02:11.465980
|
Create Date: 2023-03-06 11:11:55.431564
|
||||||
|
|
||||||
"""
|
"""
|
||||||
from alembic import op
|
from alembic import op
|
||||||
@ -10,7 +10,7 @@ import sqlalchemy as sa
|
|||||||
|
|
||||||
|
|
||||||
# revision identifiers, used by Alembic.
|
# revision identifiers, used by Alembic.
|
||||||
revision = 'ac6b60d7fee9'
|
revision = '55b76c4528c5'
|
||||||
down_revision = None
|
down_revision = None
|
||||||
branch_labels = None
|
branch_labels = None
|
||||||
depends_on = None
|
depends_on = None
|
||||||
@ -18,6 +18,29 @@ depends_on = None
|
|||||||
|
|
||||||
def upgrade():
|
def upgrade():
|
||||||
# ### commands auto generated by Alembic - please adjust! ###
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
|
op.create_table('bpmn_process',
|
||||||
|
sa.Column('id', sa.Integer(), nullable=False),
|
||||||
|
sa.Column('guid', sa.String(length=36), nullable=True),
|
||||||
|
sa.Column('parent_process_id', sa.Integer(), nullable=True),
|
||||||
|
sa.Column('properties_json', sa.JSON(), nullable=False),
|
||||||
|
sa.Column('json_data_hash', sa.String(length=255), nullable=False),
|
||||||
|
sa.ForeignKeyConstraint(['parent_process_id'], ['bpmn_process.id'], ),
|
||||||
|
sa.PrimaryKeyConstraint('id')
|
||||||
|
)
|
||||||
|
op.create_index(op.f('ix_bpmn_process_guid'), 'bpmn_process', ['guid'], unique=True)
|
||||||
|
op.create_index(op.f('ix_bpmn_process_json_data_hash'), 'bpmn_process', ['json_data_hash'], unique=False)
|
||||||
|
op.create_table('bpmn_process_definition',
|
||||||
|
sa.Column('id', sa.Integer(), nullable=False),
|
||||||
|
sa.Column('hash', sa.String(length=255), nullable=False),
|
||||||
|
sa.Column('bpmn_identifier', sa.String(length=255), nullable=False),
|
||||||
|
sa.Column('properties_json', sa.JSON(), nullable=False),
|
||||||
|
sa.Column('type', sa.String(length=32), nullable=True),
|
||||||
|
sa.Column('bpmn_version_control_type', sa.String(length=50), nullable=True),
|
||||||
|
sa.Column('bpmn_version_control_identifier', sa.String(length=255), nullable=True),
|
||||||
|
sa.PrimaryKeyConstraint('id')
|
||||||
|
)
|
||||||
|
op.create_index(op.f('ix_bpmn_process_definition_bpmn_identifier'), 'bpmn_process_definition', ['bpmn_identifier'], unique=False)
|
||||||
|
op.create_index(op.f('ix_bpmn_process_definition_hash'), 'bpmn_process_definition', ['hash'], unique=True)
|
||||||
op.create_table('correlation_property_cache',
|
op.create_table('correlation_property_cache',
|
||||||
sa.Column('id', sa.Integer(), nullable=False),
|
sa.Column('id', sa.Integer(), nullable=False),
|
||||||
sa.Column('name', sa.String(length=50), nullable=False),
|
sa.Column('name', sa.String(length=50), nullable=False),
|
||||||
@ -32,6 +55,13 @@ def upgrade():
|
|||||||
sa.Column('identifier', sa.String(length=255), nullable=True),
|
sa.Column('identifier', sa.String(length=255), nullable=True),
|
||||||
sa.PrimaryKeyConstraint('id')
|
sa.PrimaryKeyConstraint('id')
|
||||||
)
|
)
|
||||||
|
op.create_table('json_data',
|
||||||
|
sa.Column('id', sa.Integer(), nullable=False),
|
||||||
|
sa.Column('hash', sa.String(length=255), nullable=False),
|
||||||
|
sa.Column('data', sa.JSON(), nullable=False),
|
||||||
|
sa.PrimaryKeyConstraint('id')
|
||||||
|
)
|
||||||
|
op.create_index(op.f('ix_json_data_hash'), 'json_data', ['hash'], unique=True)
|
||||||
op.create_table('message_triggerable_process_model',
|
op.create_table('message_triggerable_process_model',
|
||||||
sa.Column('id', sa.Integer(), nullable=False),
|
sa.Column('id', sa.Integer(), nullable=False),
|
||||||
sa.Column('message_name', sa.String(length=255), nullable=True),
|
sa.Column('message_name', sa.String(length=255), nullable=True),
|
||||||
@ -68,6 +98,7 @@ def upgrade():
|
|||||||
sa.Column('id', sa.Integer(), nullable=False),
|
sa.Column('id', sa.Integer(), nullable=False),
|
||||||
sa.Column('process_instance_id', sa.Integer(), nullable=False),
|
sa.Column('process_instance_id', sa.Integer(), nullable=False),
|
||||||
sa.Column('bpmn_process_identifier', sa.String(length=255), nullable=False),
|
sa.Column('bpmn_process_identifier', sa.String(length=255), nullable=False),
|
||||||
|
sa.Column('bpmn_process_name', sa.String(length=255), nullable=True),
|
||||||
sa.Column('bpmn_task_identifier', sa.String(length=255), nullable=False),
|
sa.Column('bpmn_task_identifier', sa.String(length=255), nullable=False),
|
||||||
sa.Column('bpmn_task_name', sa.String(length=255), nullable=True),
|
sa.Column('bpmn_task_name', sa.String(length=255), nullable=True),
|
||||||
sa.Column('bpmn_task_type', sa.String(length=255), nullable=True),
|
sa.Column('bpmn_task_type', sa.String(length=255), nullable=True),
|
||||||
@ -94,6 +125,15 @@ def upgrade():
|
|||||||
sa.UniqueConstraint('service', 'service_id', name='service_key'),
|
sa.UniqueConstraint('service', 'service_id', name='service_key'),
|
||||||
sa.UniqueConstraint('username')
|
sa.UniqueConstraint('username')
|
||||||
)
|
)
|
||||||
|
op.create_table('bpmn_process_definition_relationship',
|
||||||
|
sa.Column('id', sa.Integer(), nullable=False),
|
||||||
|
sa.Column('bpmn_process_definition_parent_id', sa.Integer(), nullable=False),
|
||||||
|
sa.Column('bpmn_process_definition_child_id', sa.Integer(), nullable=False),
|
||||||
|
sa.ForeignKeyConstraint(['bpmn_process_definition_child_id'], ['bpmn_process_definition.id'], ),
|
||||||
|
sa.ForeignKeyConstraint(['bpmn_process_definition_parent_id'], ['bpmn_process_definition.id'], ),
|
||||||
|
sa.PrimaryKeyConstraint('id'),
|
||||||
|
sa.UniqueConstraint('bpmn_process_definition_parent_id', 'bpmn_process_definition_child_id', name='bpmn_process_definition_relationship_unique')
|
||||||
|
)
|
||||||
op.create_table('principal',
|
op.create_table('principal',
|
||||||
sa.Column('id', sa.Integer(), nullable=False),
|
sa.Column('id', sa.Integer(), nullable=False),
|
||||||
sa.Column('user_id', sa.Integer(), nullable=True),
|
sa.Column('user_id', sa.Integer(), nullable=True),
|
||||||
@ -110,6 +150,9 @@ def upgrade():
|
|||||||
sa.Column('process_model_identifier', sa.String(length=255), nullable=False),
|
sa.Column('process_model_identifier', sa.String(length=255), nullable=False),
|
||||||
sa.Column('process_model_display_name', sa.String(length=255), nullable=False),
|
sa.Column('process_model_display_name', sa.String(length=255), nullable=False),
|
||||||
sa.Column('process_initiator_id', sa.Integer(), nullable=False),
|
sa.Column('process_initiator_id', sa.Integer(), nullable=False),
|
||||||
|
sa.Column('bpmn_process_definition_id', sa.Integer(), nullable=True),
|
||||||
|
sa.Column('bpmn_process_id', sa.Integer(), nullable=True),
|
||||||
|
sa.Column('spiff_serializer_version', sa.String(length=50), nullable=True),
|
||||||
sa.Column('bpmn_json', sa.JSON(), nullable=True),
|
sa.Column('bpmn_json', sa.JSON(), nullable=True),
|
||||||
sa.Column('start_in_seconds', sa.Integer(), nullable=True),
|
sa.Column('start_in_seconds', sa.Integer(), nullable=True),
|
||||||
sa.Column('end_in_seconds', sa.Integer(), nullable=True),
|
sa.Column('end_in_seconds', sa.Integer(), nullable=True),
|
||||||
@ -121,6 +164,8 @@ def upgrade():
|
|||||||
sa.Column('spiff_step', sa.Integer(), nullable=True),
|
sa.Column('spiff_step', sa.Integer(), nullable=True),
|
||||||
sa.Column('locked_by', sa.String(length=80), nullable=True),
|
sa.Column('locked_by', sa.String(length=80), nullable=True),
|
||||||
sa.Column('locked_at_in_seconds', sa.Integer(), nullable=True),
|
sa.Column('locked_at_in_seconds', sa.Integer(), nullable=True),
|
||||||
|
sa.ForeignKeyConstraint(['bpmn_process_definition_id'], ['bpmn_process_definition.id'], ),
|
||||||
|
sa.ForeignKeyConstraint(['bpmn_process_id'], ['bpmn_process.id'], ),
|
||||||
sa.ForeignKeyConstraint(['process_initiator_id'], ['user.id'], ),
|
sa.ForeignKeyConstraint(['process_initiator_id'], ['user.id'], ),
|
||||||
sa.PrimaryKeyConstraint('id')
|
sa.PrimaryKeyConstraint('id')
|
||||||
)
|
)
|
||||||
@ -158,6 +203,29 @@ def upgrade():
|
|||||||
sa.PrimaryKeyConstraint('id'),
|
sa.PrimaryKeyConstraint('id'),
|
||||||
sa.UniqueConstraint('key')
|
sa.UniqueConstraint('key')
|
||||||
)
|
)
|
||||||
|
op.create_table('task',
|
||||||
|
sa.Column('id', sa.Integer(), nullable=False),
|
||||||
|
sa.Column('guid', sa.String(length=36), nullable=False),
|
||||||
|
sa.Column('bpmn_process_id', sa.Integer(), nullable=False),
|
||||||
|
sa.Column('state', sa.String(length=10), nullable=False),
|
||||||
|
sa.Column('properties_json', sa.JSON(), nullable=False),
|
||||||
|
sa.Column('json_data_hash', sa.String(length=255), nullable=False),
|
||||||
|
sa.ForeignKeyConstraint(['bpmn_process_id'], ['bpmn_process.id'], ),
|
||||||
|
sa.PrimaryKeyConstraint('id')
|
||||||
|
)
|
||||||
|
op.create_index(op.f('ix_task_guid'), 'task', ['guid'], unique=True)
|
||||||
|
op.create_index(op.f('ix_task_json_data_hash'), 'task', ['json_data_hash'], unique=False)
|
||||||
|
op.create_table('task_definition',
|
||||||
|
sa.Column('id', sa.Integer(), nullable=False),
|
||||||
|
sa.Column('bpmn_process_definition_id', sa.Integer(), nullable=False),
|
||||||
|
sa.Column('bpmn_identifier', sa.String(length=255), nullable=False),
|
||||||
|
sa.Column('properties_json', sa.JSON(), nullable=False),
|
||||||
|
sa.Column('typename', sa.String(length=255), nullable=False),
|
||||||
|
sa.ForeignKeyConstraint(['bpmn_process_definition_id'], ['bpmn_process_definition.id'], ),
|
||||||
|
sa.PrimaryKeyConstraint('id'),
|
||||||
|
sa.UniqueConstraint('bpmn_process_definition_id', 'bpmn_identifier', name='task_definition_unique')
|
||||||
|
)
|
||||||
|
op.create_index(op.f('ix_task_definition_bpmn_identifier'), 'task_definition', ['bpmn_identifier'], unique=False)
|
||||||
op.create_table('user_group_assignment',
|
op.create_table('user_group_assignment',
|
||||||
sa.Column('id', sa.Integer(), nullable=False),
|
sa.Column('id', sa.Integer(), nullable=False),
|
||||||
sa.Column('user_id', sa.Integer(), nullable=False),
|
sa.Column('user_id', sa.Integer(), nullable=False),
|
||||||
@ -228,6 +296,21 @@ def upgrade():
|
|||||||
sa.PrimaryKeyConstraint('id'),
|
sa.PrimaryKeyConstraint('id'),
|
||||||
sa.UniqueConstraint('principal_id', 'permission_target_id', 'permission', name='permission_assignment_uniq')
|
sa.UniqueConstraint('principal_id', 'permission_target_id', 'permission', name='permission_assignment_uniq')
|
||||||
)
|
)
|
||||||
|
op.create_table('process_instance_file_data',
|
||||||
|
sa.Column('id', sa.Integer(), nullable=False),
|
||||||
|
sa.Column('process_instance_id', sa.Integer(), nullable=False),
|
||||||
|
sa.Column('identifier', sa.String(length=255), nullable=False),
|
||||||
|
sa.Column('list_index', sa.Integer(), nullable=True),
|
||||||
|
sa.Column('mimetype', sa.String(length=255), nullable=False),
|
||||||
|
sa.Column('filename', sa.String(length=255), nullable=False),
|
||||||
|
sa.Column('contents', sa.LargeBinary(), nullable=False),
|
||||||
|
sa.Column('digest', sa.String(length=64), nullable=False),
|
||||||
|
sa.Column('updated_at_in_seconds', sa.Integer(), nullable=False),
|
||||||
|
sa.Column('created_at_in_seconds', sa.Integer(), nullable=False),
|
||||||
|
sa.ForeignKeyConstraint(['process_instance_id'], ['process_instance.id'], ),
|
||||||
|
sa.PrimaryKeyConstraint('id')
|
||||||
|
)
|
||||||
|
op.create_index(op.f('ix_process_instance_file_data_digest'), 'process_instance_file_data', ['digest'], unique=False)
|
||||||
op.create_table('process_instance_metadata',
|
op.create_table('process_instance_metadata',
|
||||||
sa.Column('id', sa.Integer(), nullable=False),
|
sa.Column('id', sa.Integer(), nullable=False),
|
||||||
sa.Column('process_instance_id', sa.Integer(), nullable=False),
|
sa.Column('process_instance_id', sa.Integer(), nullable=False),
|
||||||
@ -248,6 +331,7 @@ def upgrade():
|
|||||||
sa.Column('task_id', sa.String(length=50), nullable=False),
|
sa.Column('task_id', sa.String(length=50), nullable=False),
|
||||||
sa.Column('task_state', sa.String(length=50), nullable=False),
|
sa.Column('task_state', sa.String(length=50), nullable=False),
|
||||||
sa.Column('bpmn_task_identifier', sa.String(length=255), nullable=False),
|
sa.Column('bpmn_task_identifier', sa.String(length=255), nullable=False),
|
||||||
|
sa.Column('delta_json', sa.JSON(), nullable=True),
|
||||||
sa.Column('start_in_seconds', sa.DECIMAL(precision=17, scale=6), nullable=False),
|
sa.Column('start_in_seconds', sa.DECIMAL(precision=17, scale=6), nullable=False),
|
||||||
sa.Column('end_in_seconds', sa.DECIMAL(precision=17, scale=6), nullable=True),
|
sa.Column('end_in_seconds', sa.DECIMAL(precision=17, scale=6), nullable=True),
|
||||||
sa.ForeignKeyConstraint(['process_instance_id'], ['process_instance.id'], ),
|
sa.ForeignKeyConstraint(['process_instance_id'], ['process_instance.id'], ),
|
||||||
@ -290,12 +374,19 @@ def downgrade():
|
|||||||
op.drop_table('spiff_step_details')
|
op.drop_table('spiff_step_details')
|
||||||
op.drop_index(op.f('ix_process_instance_metadata_key'), table_name='process_instance_metadata')
|
op.drop_index(op.f('ix_process_instance_metadata_key'), table_name='process_instance_metadata')
|
||||||
op.drop_table('process_instance_metadata')
|
op.drop_table('process_instance_metadata')
|
||||||
|
op.drop_index(op.f('ix_process_instance_file_data_digest'), table_name='process_instance_file_data')
|
||||||
|
op.drop_table('process_instance_file_data')
|
||||||
op.drop_table('permission_assignment')
|
op.drop_table('permission_assignment')
|
||||||
op.drop_table('message_instance')
|
op.drop_table('message_instance')
|
||||||
op.drop_index(op.f('ix_human_task_completed'), table_name='human_task')
|
op.drop_index(op.f('ix_human_task_completed'), table_name='human_task')
|
||||||
op.drop_table('human_task')
|
op.drop_table('human_task')
|
||||||
op.drop_table('user_group_assignment_waiting')
|
op.drop_table('user_group_assignment_waiting')
|
||||||
op.drop_table('user_group_assignment')
|
op.drop_table('user_group_assignment')
|
||||||
|
op.drop_index(op.f('ix_task_definition_bpmn_identifier'), table_name='task_definition')
|
||||||
|
op.drop_table('task_definition')
|
||||||
|
op.drop_index(op.f('ix_task_json_data_hash'), table_name='task')
|
||||||
|
op.drop_index(op.f('ix_task_guid'), table_name='task')
|
||||||
|
op.drop_table('task')
|
||||||
op.drop_table('secret')
|
op.drop_table('secret')
|
||||||
op.drop_table('refresh_token')
|
op.drop_table('refresh_token')
|
||||||
op.drop_index(op.f('ix_process_instance_report_identifier'), table_name='process_instance_report')
|
op.drop_index(op.f('ix_process_instance_report_identifier'), table_name='process_instance_report')
|
||||||
@ -305,6 +396,7 @@ def downgrade():
|
|||||||
op.drop_index(op.f('ix_process_instance_process_model_display_name'), table_name='process_instance')
|
op.drop_index(op.f('ix_process_instance_process_model_display_name'), table_name='process_instance')
|
||||||
op.drop_table('process_instance')
|
op.drop_table('process_instance')
|
||||||
op.drop_table('principal')
|
op.drop_table('principal')
|
||||||
|
op.drop_table('bpmn_process_definition_relationship')
|
||||||
op.drop_table('user')
|
op.drop_table('user')
|
||||||
op.drop_table('spiff_logging')
|
op.drop_table('spiff_logging')
|
||||||
op.drop_index(op.f('ix_spec_reference_cache_type'), table_name='spec_reference_cache')
|
op.drop_index(op.f('ix_spec_reference_cache_type'), table_name='spec_reference_cache')
|
||||||
@ -314,6 +406,14 @@ def downgrade():
|
|||||||
op.drop_table('permission_target')
|
op.drop_table('permission_target')
|
||||||
op.drop_index(op.f('ix_message_triggerable_process_model_process_model_identifier'), table_name='message_triggerable_process_model')
|
op.drop_index(op.f('ix_message_triggerable_process_model_process_model_identifier'), table_name='message_triggerable_process_model')
|
||||||
op.drop_table('message_triggerable_process_model')
|
op.drop_table('message_triggerable_process_model')
|
||||||
|
op.drop_index(op.f('ix_json_data_hash'), table_name='json_data')
|
||||||
|
op.drop_table('json_data')
|
||||||
op.drop_table('group')
|
op.drop_table('group')
|
||||||
op.drop_table('correlation_property_cache')
|
op.drop_table('correlation_property_cache')
|
||||||
|
op.drop_index(op.f('ix_bpmn_process_definition_hash'), table_name='bpmn_process_definition')
|
||||||
|
op.drop_index(op.f('ix_bpmn_process_definition_bpmn_identifier'), table_name='bpmn_process_definition')
|
||||||
|
op.drop_table('bpmn_process_definition')
|
||||||
|
op.drop_index(op.f('ix_bpmn_process_json_data_hash'), table_name='bpmn_process')
|
||||||
|
op.drop_index(op.f('ix_bpmn_process_guid'), table_name='bpmn_process')
|
||||||
|
op.drop_table('bpmn_process')
|
||||||
# ### end Alembic commands ###
|
# ### end Alembic commands ###
|
@ -1,30 +0,0 @@
|
|||||||
"""empty message
|
|
||||||
|
|
||||||
Revision ID: 61cd3e8462f5
|
|
||||||
Revises: 941f7b76d278
|
|
||||||
Create Date: 2023-03-03 16:22:12.449757
|
|
||||||
|
|
||||||
"""
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
|
||||||
from sqlalchemy.dialects import mysql
|
|
||||||
|
|
||||||
# revision identifiers, used by Alembic.
|
|
||||||
revision = '61cd3e8462f5'
|
|
||||||
down_revision = '941f7b76d278'
|
|
||||||
branch_labels = None
|
|
||||||
depends_on = None
|
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
|
||||||
# ### commands auto generated by Alembic - please adjust! ###
|
|
||||||
op.drop_constraint('task_ibfk_2', 'task', type_='foreignkey')
|
|
||||||
op.drop_column('task', 'task_definition_id')
|
|
||||||
# ### end Alembic commands ###
|
|
||||||
|
|
||||||
|
|
||||||
def downgrade():
|
|
||||||
# ### commands auto generated by Alembic - please adjust! ###
|
|
||||||
op.add_column('task', sa.Column('task_definition_id', mysql.INTEGER(), autoincrement=False, nullable=False))
|
|
||||||
op.create_foreign_key('task_ibfk_2', 'task', 'task_definition', ['task_definition_id'], ['id'])
|
|
||||||
# ### end Alembic commands ###
|
|
@ -1,51 +0,0 @@
|
|||||||
"""empty message
|
|
||||||
|
|
||||||
Revision ID: 7422be14adc4
|
|
||||||
Revises: ac6b60d7fee9
|
|
||||||
Create Date: 2023-03-01 15:39:25.731722
|
|
||||||
|
|
||||||
"""
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
|
||||||
|
|
||||||
|
|
||||||
# revision identifiers, used by Alembic.
|
|
||||||
revision = '7422be14adc4'
|
|
||||||
down_revision = 'ac6b60d7fee9'
|
|
||||||
branch_labels = None
|
|
||||||
depends_on = None
|
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
|
||||||
# ### commands auto generated by Alembic - please adjust! ###
|
|
||||||
op.create_table('process_instance_data',
|
|
||||||
sa.Column('id', sa.Integer(), nullable=False),
|
|
||||||
sa.Column('runtime_json', sa.JSON(), nullable=False),
|
|
||||||
sa.PrimaryKeyConstraint('id')
|
|
||||||
)
|
|
||||||
op.create_table('serialized_bpmn_definition',
|
|
||||||
sa.Column('id', sa.Integer(), nullable=False),
|
|
||||||
sa.Column('hash', sa.String(length=255), nullable=False),
|
|
||||||
sa.Column('static_json', sa.JSON(), nullable=False),
|
|
||||||
sa.PrimaryKeyConstraint('id')
|
|
||||||
)
|
|
||||||
op.create_index(op.f('ix_serialized_bpmn_definition_hash'), 'serialized_bpmn_definition', ['hash'], unique=True)
|
|
||||||
op.add_column('process_instance', sa.Column('serialized_bpmn_definition_id', sa.Integer(), nullable=True))
|
|
||||||
op.add_column('process_instance', sa.Column('process_instance_data_id', sa.Integer(), nullable=True))
|
|
||||||
op.create_foreign_key(None, 'process_instance', 'process_instance_data', ['process_instance_data_id'], ['id'])
|
|
||||||
op.create_foreign_key(None, 'process_instance', 'serialized_bpmn_definition', ['serialized_bpmn_definition_id'], ['id'])
|
|
||||||
op.add_column('spiff_step_details', sa.Column('delta_json', sa.JSON(), nullable=True))
|
|
||||||
# ### end Alembic commands ###
|
|
||||||
|
|
||||||
|
|
||||||
def downgrade():
|
|
||||||
# ### commands auto generated by Alembic - please adjust! ###
|
|
||||||
op.drop_column('spiff_step_details', 'delta_json')
|
|
||||||
op.drop_constraint('process_instance_ibfk_3', 'process_instance', type_='foreignkey')
|
|
||||||
op.drop_constraint('process_instance_ibfk_2', 'process_instance', type_='foreignkey')
|
|
||||||
op.drop_column('process_instance', 'process_instance_data_id')
|
|
||||||
op.drop_column('process_instance', 'serialized_bpmn_definition_id')
|
|
||||||
op.drop_index(op.f('ix_serialized_bpmn_definition_hash'), table_name='serialized_bpmn_definition')
|
|
||||||
op.drop_table('serialized_bpmn_definition')
|
|
||||||
op.drop_table('process_instance_data')
|
|
||||||
# ### end Alembic commands ###
|
|
@ -1,28 +0,0 @@
|
|||||||
"""empty message
|
|
||||||
|
|
||||||
Revision ID: 8930711a75a4
|
|
||||||
Revises: 7422be14adc4
|
|
||||||
Create Date: 2023-03-01 16:16:50.446929
|
|
||||||
|
|
||||||
"""
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
|
||||||
|
|
||||||
|
|
||||||
# revision identifiers, used by Alembic.
|
|
||||||
revision = '8930711a75a4'
|
|
||||||
down_revision = '7422be14adc4'
|
|
||||||
branch_labels = None
|
|
||||||
depends_on = None
|
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
|
||||||
# ### commands auto generated by Alembic - please adjust! ###
|
|
||||||
op.add_column('spiff_logging', sa.Column('bpmn_process_name', sa.String(length=255), nullable=True))
|
|
||||||
# ### end Alembic commands ###
|
|
||||||
|
|
||||||
|
|
||||||
def downgrade():
|
|
||||||
# ### commands auto generated by Alembic - please adjust! ###
|
|
||||||
op.drop_column('spiff_logging', 'bpmn_process_name')
|
|
||||||
# ### end Alembic commands ###
|
|
@ -1,30 +0,0 @@
|
|||||||
"""empty message
|
|
||||||
|
|
||||||
Revision ID: 941f7b76d278
|
|
||||||
Revises: b0b82fab4cf9
|
|
||||||
Create Date: 2023-03-03 14:40:46.574985
|
|
||||||
|
|
||||||
"""
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
|
||||||
|
|
||||||
|
|
||||||
# revision identifiers, used by Alembic.
|
|
||||||
revision = '941f7b76d278'
|
|
||||||
down_revision = 'b0b82fab4cf9'
|
|
||||||
branch_labels = None
|
|
||||||
depends_on = None
|
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
|
||||||
# ### commands auto generated by Alembic - please adjust! ###
|
|
||||||
op.add_column('bpmn_process', sa.Column('guid', sa.String(length=36), nullable=True))
|
|
||||||
op.create_index(op.f('ix_bpmn_process_guid'), 'bpmn_process', ['guid'], unique=True)
|
|
||||||
# ### end Alembic commands ###
|
|
||||||
|
|
||||||
|
|
||||||
def downgrade():
|
|
||||||
# ### commands auto generated by Alembic - please adjust! ###
|
|
||||||
op.drop_index(op.f('ix_bpmn_process_guid'), table_name='bpmn_process')
|
|
||||||
op.drop_column('bpmn_process', 'guid')
|
|
||||||
# ### end Alembic commands ###
|
|
@ -1,107 +0,0 @@
|
|||||||
"""empty message
|
|
||||||
|
|
||||||
Revision ID: a63a61a21398
|
|
||||||
Revises: 1e8167de6df8
|
|
||||||
Create Date: 2023-03-03 13:07:51.665585
|
|
||||||
|
|
||||||
"""
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
|
||||||
|
|
||||||
|
|
||||||
# revision identifiers, used by Alembic.
|
|
||||||
revision = 'a63a61a21398'
|
|
||||||
down_revision = '1e8167de6df8'
|
|
||||||
branch_labels = None
|
|
||||||
depends_on = None
|
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
|
||||||
# ### commands auto generated by Alembic - please adjust! ###
|
|
||||||
op.create_table('bpmn_process',
|
|
||||||
sa.Column('id', sa.Integer(), nullable=False),
|
|
||||||
sa.Column('parent_process_id', sa.Integer(), nullable=True),
|
|
||||||
sa.Column('properties_json', sa.JSON(), nullable=False),
|
|
||||||
sa.Column('json_data_hash', sa.String(length=255), nullable=False),
|
|
||||||
sa.ForeignKeyConstraint(['parent_process_id'], ['bpmn_process.id'], ),
|
|
||||||
sa.PrimaryKeyConstraint('id')
|
|
||||||
)
|
|
||||||
op.create_index(op.f('ix_bpmn_process_json_data_hash'), 'bpmn_process', ['json_data_hash'], unique=False)
|
|
||||||
op.create_table('bpmn_process_definition',
|
|
||||||
sa.Column('id', sa.Integer(), nullable=False),
|
|
||||||
sa.Column('hash', sa.String(length=255), nullable=False),
|
|
||||||
sa.Column('bpmn_identifier', sa.String(length=255), nullable=False),
|
|
||||||
sa.Column('properties_json', sa.JSON(), nullable=False),
|
|
||||||
sa.Column('type', sa.String(length=32), nullable=True),
|
|
||||||
sa.Column('bpmn_version_control_type', sa.String(length=50), nullable=True),
|
|
||||||
sa.Column('bpmn_version_control_identifier', sa.String(length=255), nullable=True),
|
|
||||||
sa.PrimaryKeyConstraint('id')
|
|
||||||
)
|
|
||||||
op.create_index(op.f('ix_bpmn_process_definition_bpmn_identifier'), 'bpmn_process_definition', ['bpmn_identifier'], unique=False)
|
|
||||||
op.create_index(op.f('ix_bpmn_process_definition_hash'), 'bpmn_process_definition', ['hash'], unique=True)
|
|
||||||
op.create_table('json_data',
|
|
||||||
sa.Column('id', sa.Integer(), nullable=False),
|
|
||||||
sa.Column('hash', sa.String(length=255), nullable=False),
|
|
||||||
sa.Column('data', sa.JSON(), nullable=False),
|
|
||||||
sa.PrimaryKeyConstraint('id')
|
|
||||||
)
|
|
||||||
op.create_index(op.f('ix_json_data_hash'), 'json_data', ['hash'], unique=True)
|
|
||||||
op.create_table('bpmn_process_definition_relationship',
|
|
||||||
sa.Column('id', sa.Integer(), nullable=False),
|
|
||||||
sa.Column('bpmn_process_definition_parent_id', sa.Integer(), nullable=False),
|
|
||||||
sa.Column('bpmn_process_definition_child_id', sa.Integer(), nullable=False),
|
|
||||||
sa.ForeignKeyConstraint(['bpmn_process_definition_child_id'], ['bpmn_process_definition.id'], ),
|
|
||||||
sa.ForeignKeyConstraint(['bpmn_process_definition_parent_id'], ['bpmn_process_definition.id'], ),
|
|
||||||
sa.PrimaryKeyConstraint('id'),
|
|
||||||
sa.UniqueConstraint('bpmn_process_definition_parent_id', 'bpmn_process_definition_child_id', name='bpmn_process_definition_relationship_unique')
|
|
||||||
)
|
|
||||||
op.create_table('task_definition',
|
|
||||||
sa.Column('id', sa.Integer(), nullable=False),
|
|
||||||
sa.Column('bpmn_process_definition_id', sa.Integer(), nullable=False),
|
|
||||||
sa.Column('bpmn_identifier', sa.String(length=255), nullable=False),
|
|
||||||
sa.Column('properties_json', sa.JSON(), nullable=False),
|
|
||||||
sa.Column('typename', sa.String(length=255), nullable=False),
|
|
||||||
sa.ForeignKeyConstraint(['bpmn_process_definition_id'], ['bpmn_process_definition.id'], ),
|
|
||||||
sa.PrimaryKeyConstraint('id'),
|
|
||||||
sa.UniqueConstraint('bpmn_process_definition_id', 'bpmn_identifier', name='task_definition_unique')
|
|
||||||
)
|
|
||||||
op.create_index(op.f('ix_task_definition_bpmn_identifier'), 'task_definition', ['bpmn_identifier'], unique=False)
|
|
||||||
op.create_table('task',
|
|
||||||
sa.Column('id', sa.Integer(), nullable=False),
|
|
||||||
sa.Column('guid', sa.String(length=36), nullable=False),
|
|
||||||
sa.Column('bpmn_process_id', sa.Integer(), nullable=False),
|
|
||||||
sa.Column('task_definition_id', sa.Integer(), nullable=False),
|
|
||||||
sa.Column('state', sa.String(length=10), nullable=False),
|
|
||||||
sa.Column('properties_json', sa.JSON(), nullable=False),
|
|
||||||
sa.Column('json_data_hash', sa.String(length=255), nullable=False),
|
|
||||||
sa.ForeignKeyConstraint(['bpmn_process_id'], ['bpmn_process.id'], ),
|
|
||||||
sa.ForeignKeyConstraint(['task_definition_id'], ['task_definition.id'], ),
|
|
||||||
sa.PrimaryKeyConstraint('id')
|
|
||||||
)
|
|
||||||
op.create_index(op.f('ix_task_guid'), 'task', ['guid'], unique=True)
|
|
||||||
op.create_index(op.f('ix_task_json_data_hash'), 'task', ['json_data_hash'], unique=False)
|
|
||||||
op.add_column('process_instance', sa.Column('bpmn_process_definition_id', sa.Integer(), nullable=True))
|
|
||||||
op.add_column('process_instance', sa.Column('spiff_serializer_version', sa.String(length=50), nullable=True))
|
|
||||||
op.create_foreign_key(None, 'process_instance', 'bpmn_process_definition', ['bpmn_process_definition_id'], ['id'])
|
|
||||||
# ### end Alembic commands ###
|
|
||||||
|
|
||||||
|
|
||||||
def downgrade():
|
|
||||||
# ### commands auto generated by Alembic - please adjust! ###
|
|
||||||
op.drop_constraint(None, 'process_instance', type_='foreignkey')
|
|
||||||
op.drop_column('process_instance', 'spiff_serializer_version')
|
|
||||||
op.drop_column('process_instance', 'bpmn_process_definition_id')
|
|
||||||
op.drop_index(op.f('ix_task_json_data_hash'), table_name='task')
|
|
||||||
op.drop_index(op.f('ix_task_guid'), table_name='task')
|
|
||||||
op.drop_table('task')
|
|
||||||
op.drop_index(op.f('ix_task_definition_bpmn_identifier'), table_name='task_definition')
|
|
||||||
op.drop_table('task_definition')
|
|
||||||
op.drop_table('bpmn_process_definition_relationship')
|
|
||||||
op.drop_index(op.f('ix_json_data_hash'), table_name='json_data')
|
|
||||||
op.drop_table('json_data')
|
|
||||||
op.drop_index(op.f('ix_bpmn_process_definition_hash'), table_name='bpmn_process_definition')
|
|
||||||
op.drop_index(op.f('ix_bpmn_process_definition_bpmn_identifier'), table_name='bpmn_process_definition')
|
|
||||||
op.drop_table('bpmn_process_definition')
|
|
||||||
op.drop_index(op.f('ix_bpmn_process_json_data_hash'), table_name='bpmn_process')
|
|
||||||
op.drop_table('bpmn_process')
|
|
||||||
# ### end Alembic commands ###
|
|
@ -1,30 +0,0 @@
|
|||||||
"""empty message
|
|
||||||
|
|
||||||
Revision ID: b0b82fab4cf9
|
|
||||||
Revises: a63a61a21398
|
|
||||||
Create Date: 2023-03-03 13:24:08.304492
|
|
||||||
|
|
||||||
"""
|
|
||||||
from alembic import op
|
|
||||||
import sqlalchemy as sa
|
|
||||||
|
|
||||||
|
|
||||||
# revision identifiers, used by Alembic.
|
|
||||||
revision = 'b0b82fab4cf9'
|
|
||||||
down_revision = 'a63a61a21398'
|
|
||||||
branch_labels = None
|
|
||||||
depends_on = None
|
|
||||||
|
|
||||||
|
|
||||||
def upgrade():
|
|
||||||
# ### commands auto generated by Alembic - please adjust! ###
|
|
||||||
op.add_column('process_instance', sa.Column('bpmn_process_id', sa.Integer(), nullable=True))
|
|
||||||
op.create_foreign_key(None, 'process_instance', 'bpmn_process', ['bpmn_process_id'], ['id'])
|
|
||||||
# ### end Alembic commands ###
|
|
||||||
|
|
||||||
|
|
||||||
def downgrade():
|
|
||||||
# ### commands auto generated by Alembic - please adjust! ###
|
|
||||||
op.drop_constraint(None, 'process_instance', type_='foreignkey')
|
|
||||||
op.drop_column('process_instance', 'bpmn_process_id')
|
|
||||||
# ### end Alembic commands ###
|
|
@ -50,12 +50,6 @@ from spiffworkflow_backend.models.group import GroupModel # noqa: F401
|
|||||||
from spiffworkflow_backend.models.process_instance_metadata import (
|
from spiffworkflow_backend.models.process_instance_metadata import (
|
||||||
ProcessInstanceMetadataModel,
|
ProcessInstanceMetadataModel,
|
||||||
) # noqa: F401
|
) # noqa: F401
|
||||||
from spiffworkflow_backend.models.serialized_bpmn_definition import (
|
|
||||||
SerializedBpmnDefinitionModel,
|
|
||||||
) # noqa: F401
|
|
||||||
from spiffworkflow_backend.models.process_instance_data import (
|
|
||||||
ProcessInstanceDataModel,
|
|
||||||
) # noqa: F401
|
|
||||||
from spiffworkflow_backend.models.process_instance_file_data import (
|
from spiffworkflow_backend.models.process_instance_file_data import (
|
||||||
ProcessInstanceFileDataModel,
|
ProcessInstanceFileDataModel,
|
||||||
) # noqa: F401
|
) # noqa: F401
|
||||||
|
@ -22,10 +22,6 @@ from spiffworkflow_backend.models.bpmn_process_definition import (
|
|||||||
)
|
)
|
||||||
from spiffworkflow_backend.models.db import db
|
from spiffworkflow_backend.models.db import db
|
||||||
from spiffworkflow_backend.models.db import SpiffworkflowBaseDBModel
|
from spiffworkflow_backend.models.db import SpiffworkflowBaseDBModel
|
||||||
from spiffworkflow_backend.models.process_instance_data import ProcessInstanceDataModel
|
|
||||||
from spiffworkflow_backend.models.serialized_bpmn_definition import (
|
|
||||||
SerializedBpmnDefinitionModel,
|
|
||||||
) # noqa: F401
|
|
||||||
from spiffworkflow_backend.models.task import Task
|
from spiffworkflow_backend.models.task import Task
|
||||||
from spiffworkflow_backend.models.task import TaskSchema
|
from spiffworkflow_backend.models.task import TaskSchema
|
||||||
from spiffworkflow_backend.models.user import UserModel
|
from spiffworkflow_backend.models.user import UserModel
|
||||||
@ -69,16 +65,6 @@ class ProcessInstanceModel(SpiffworkflowBaseDBModel):
|
|||||||
process_initiator_id: int = db.Column(ForeignKey(UserModel.id), nullable=False) # type: ignore
|
process_initiator_id: int = db.Column(ForeignKey(UserModel.id), nullable=False) # type: ignore
|
||||||
process_initiator = relationship("UserModel")
|
process_initiator = relationship("UserModel")
|
||||||
|
|
||||||
serialized_bpmn_definition_id: int | None = db.Column(
|
|
||||||
ForeignKey(SerializedBpmnDefinitionModel.id), nullable=True # type: ignore
|
|
||||||
)
|
|
||||||
serialized_bpmn_definition = relationship("SerializedBpmnDefinitionModel")
|
|
||||||
|
|
||||||
process_instance_data_id: int | None = db.Column(
|
|
||||||
ForeignKey(ProcessInstanceDataModel.id), nullable=True # type: ignore
|
|
||||||
)
|
|
||||||
process_instance_data = relationship("ProcessInstanceDataModel", cascade="delete")
|
|
||||||
|
|
||||||
bpmn_process_definition_id: Optional[int] = db.Column(
|
bpmn_process_definition_id: Optional[int] = db.Column(
|
||||||
ForeignKey(BpmnProcessDefinitionModel.id), nullable=True # type: ignore
|
ForeignKey(BpmnProcessDefinitionModel.id), nullable=True # type: ignore
|
||||||
)
|
)
|
||||||
|
@ -1,22 +0,0 @@
|
|||||||
"""Process_instance."""
|
|
||||||
from __future__ import annotations
|
|
||||||
|
|
||||||
from spiffworkflow_backend.models.db import db
|
|
||||||
from spiffworkflow_backend.models.db import SpiffworkflowBaseDBModel
|
|
||||||
|
|
||||||
|
|
||||||
# the last three here should maybe become columns on process instance someday
|
|
||||||
# runtime_json
|
|
||||||
# "bpmn_messages",
|
|
||||||
# "correlations",
|
|
||||||
# "data",
|
|
||||||
# "subprocesses",
|
|
||||||
# "tasks",
|
|
||||||
# "last_task", # guid generated by spiff
|
|
||||||
# "root", # guid generated by spiff
|
|
||||||
# "success", # boolean
|
|
||||||
class ProcessInstanceDataModel(SpiffworkflowBaseDBModel):
|
|
||||||
__tablename__ = "process_instance_data"
|
|
||||||
id: int = db.Column(db.Integer, primary_key=True)
|
|
||||||
# this is not deferred because there is no reason to query this model if you do not want the runtime_json
|
|
||||||
runtime_json: str = db.Column(db.JSON, nullable=False)
|
|
@ -1,49 +0,0 @@
|
|||||||
"""Process_instance."""
|
|
||||||
from __future__ import annotations
|
|
||||||
|
|
||||||
from spiffworkflow_backend.models.db import db
|
|
||||||
from spiffworkflow_backend.models.db import SpiffworkflowBaseDBModel
|
|
||||||
|
|
||||||
|
|
||||||
# top level serialized keys
|
|
||||||
#
|
|
||||||
# static
|
|
||||||
# "subprocess_specs",
|
|
||||||
# "spec",
|
|
||||||
# "serializer_version",
|
|
||||||
#
|
|
||||||
# runtime
|
|
||||||
# "bpmn_messages",
|
|
||||||
# "correlations",
|
|
||||||
# "subprocesses",
|
|
||||||
#
|
|
||||||
# also in subprocesses
|
|
||||||
# "data",
|
|
||||||
# "tasks"
|
|
||||||
# "last_task", # guid generated by spiff
|
|
||||||
# "root", # guid generated by spiff
|
|
||||||
# "success", # boolean
|
|
||||||
#
|
|
||||||
# new columns on process_instance
|
|
||||||
#
|
|
||||||
# delta algorithm:
|
|
||||||
# a = {"hey": { "hey2": 2, "hey3": 3, "hey6": 7 }, "hey30": 3, "hey40": 4}
|
|
||||||
# b = {"hey": { "hey2": 4, "hey5": 3 }, "hey20": 2, "hey30": 3}
|
|
||||||
# a_keys = set(a.keys())
|
|
||||||
# b_keys = set(b.keys())
|
|
||||||
# removed = a_keys - b_keys
|
|
||||||
# added_keys = b_keys - a_keys
|
|
||||||
# keys_present_in_both = a_keys & b_keys
|
|
||||||
# changed = {}
|
|
||||||
# for key_in_both in keys_present_in_both:
|
|
||||||
# if a[key_in_both] != b[key_in_both]:
|
|
||||||
# changed[key_in_both] = b[key_in_both]
|
|
||||||
# added = {}
|
|
||||||
# for added_key in added_keys:
|
|
||||||
# added[added_key] = b[added_key]
|
|
||||||
# final_tuple = [added, removed, changed]
|
|
||||||
class SerializedBpmnDefinitionModel(SpiffworkflowBaseDBModel):
|
|
||||||
__tablename__ = "serialized_bpmn_definition"
|
|
||||||
id: int = db.Column(db.Integer, primary_key=True)
|
|
||||||
hash: str = db.Column(db.String(255), nullable=False, index=True, unique=True)
|
|
||||||
static_json: str = db.Column(db.JSON, nullable=False)
|
|
@ -77,7 +77,6 @@ from spiffworkflow_backend.models.message_instance_correlation import (
|
|||||||
)
|
)
|
||||||
from spiffworkflow_backend.models.process_instance import ProcessInstanceModel
|
from spiffworkflow_backend.models.process_instance import ProcessInstanceModel
|
||||||
from spiffworkflow_backend.models.process_instance import ProcessInstanceStatus
|
from spiffworkflow_backend.models.process_instance import ProcessInstanceStatus
|
||||||
from spiffworkflow_backend.models.process_instance_data import ProcessInstanceDataModel
|
|
||||||
from spiffworkflow_backend.models.process_instance_metadata import (
|
from spiffworkflow_backend.models.process_instance_metadata import (
|
||||||
ProcessInstanceMetadataModel,
|
ProcessInstanceMetadataModel,
|
||||||
)
|
)
|
||||||
@ -85,9 +84,6 @@ from spiffworkflow_backend.models.process_model import ProcessModelInfo
|
|||||||
from spiffworkflow_backend.models.script_attributes_context import (
|
from spiffworkflow_backend.models.script_attributes_context import (
|
||||||
ScriptAttributesContext,
|
ScriptAttributesContext,
|
||||||
)
|
)
|
||||||
from spiffworkflow_backend.models.serialized_bpmn_definition import (
|
|
||||||
SerializedBpmnDefinitionModel,
|
|
||||||
) # noqa: F401
|
|
||||||
from spiffworkflow_backend.models.spec_reference import SpecReferenceCache
|
from spiffworkflow_backend.models.spec_reference import SpecReferenceCache
|
||||||
from spiffworkflow_backend.models.spiff_step_details import SpiffStepDetailsModel
|
from spiffworkflow_backend.models.spiff_step_details import SpiffStepDetailsModel
|
||||||
from spiffworkflow_backend.models.task_definition import TaskDefinitionModel
|
from spiffworkflow_backend.models.task_definition import TaskDefinitionModel
|
||||||
@ -928,53 +924,6 @@ class ProcessInstanceProcessor:
|
|||||||
)
|
)
|
||||||
return subprocesses_by_child_task_ids
|
return subprocesses_by_child_task_ids
|
||||||
|
|
||||||
def _add_bpmn_json_records(self) -> None:
|
|
||||||
"""Adds serialized_bpmn_definition and process_instance_data records to the db session.
|
|
||||||
|
|
||||||
Expects the save method to commit it.
|
|
||||||
"""
|
|
||||||
bpmn_dict = json.loads(self.serialize())
|
|
||||||
bpmn_dict_keys = ("spec", "subprocess_specs", "serializer_version")
|
|
||||||
bpmn_spec_dict = {}
|
|
||||||
process_instance_data_dict = {}
|
|
||||||
for bpmn_key in bpmn_dict.keys():
|
|
||||||
if bpmn_key in bpmn_dict_keys:
|
|
||||||
bpmn_spec_dict[bpmn_key] = bpmn_dict[bpmn_key]
|
|
||||||
else:
|
|
||||||
process_instance_data_dict[bpmn_key] = bpmn_dict[bpmn_key]
|
|
||||||
|
|
||||||
# FIXME: always save new hash until we get updated Spiff without loopresettask
|
|
||||||
# if self.process_instance_model.serialized_bpmn_definition_id is None:
|
|
||||||
new_hash_digest = sha256(
|
|
||||||
json.dumps(bpmn_spec_dict, sort_keys=True).encode("utf8")
|
|
||||||
).hexdigest()
|
|
||||||
serialized_bpmn_definition = SerializedBpmnDefinitionModel.query.filter_by(
|
|
||||||
hash=new_hash_digest
|
|
||||||
).first()
|
|
||||||
if serialized_bpmn_definition is None:
|
|
||||||
serialized_bpmn_definition = SerializedBpmnDefinitionModel(
|
|
||||||
hash=new_hash_digest, static_json=json.dumps(bpmn_spec_dict)
|
|
||||||
)
|
|
||||||
db.session.add(serialized_bpmn_definition)
|
|
||||||
if (
|
|
||||||
self.process_instance_model.serialized_bpmn_definition_id is None
|
|
||||||
or self.process_instance_model.serialized_bpmn_definition.hash
|
|
||||||
!= new_hash_digest
|
|
||||||
):
|
|
||||||
self.process_instance_model.serialized_bpmn_definition = (
|
|
||||||
serialized_bpmn_definition
|
|
||||||
)
|
|
||||||
|
|
||||||
process_instance_data = None
|
|
||||||
if self.process_instance_model.process_instance_data_id is None:
|
|
||||||
process_instance_data = ProcessInstanceDataModel()
|
|
||||||
else:
|
|
||||||
process_instance_data = self.process_instance_model.process_instance_data
|
|
||||||
|
|
||||||
process_instance_data.runtime_json = json.dumps(process_instance_data_dict)
|
|
||||||
db.session.add(process_instance_data)
|
|
||||||
self.process_instance_model.process_instance_data = process_instance_data
|
|
||||||
|
|
||||||
def _store_bpmn_process_definition(
|
def _store_bpmn_process_definition(
|
||||||
self,
|
self,
|
||||||
process_bpmn_properties: dict,
|
process_bpmn_properties: dict,
|
||||||
@ -1090,7 +1039,7 @@ class ProcessInstanceProcessor:
|
|||||||
|
|
||||||
return bpmn_process
|
return bpmn_process
|
||||||
|
|
||||||
def _add_bpmn_json_records_new(self) -> None:
|
def _add_bpmn_json_records(self) -> None:
|
||||||
"""Adds serialized_bpmn_definition and process_instance_data records to the db session.
|
"""Adds serialized_bpmn_definition and process_instance_data records to the db session.
|
||||||
|
|
||||||
Expects the save method to commit it.
|
Expects the save method to commit it.
|
||||||
@ -1117,8 +1066,7 @@ class ProcessInstanceProcessor:
|
|||||||
|
|
||||||
def save(self) -> None:
|
def save(self) -> None:
|
||||||
"""Saves the current state of this processor to the database."""
|
"""Saves the current state of this processor to the database."""
|
||||||
# self._add_bpmn_json_records()
|
self._add_bpmn_json_records()
|
||||||
self._add_bpmn_json_records_new()
|
|
||||||
self.process_instance_model.spiff_serializer_version = self.SERIALIZER_VERSION
|
self.process_instance_model.spiff_serializer_version = self.SERIALIZER_VERSION
|
||||||
|
|
||||||
complete_states = [TaskState.CANCELLED, TaskState.COMPLETED]
|
complete_states = [TaskState.CANCELLED, TaskState.COMPLETED]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user