mirror of
https://github.com/sartography/spiff-arena.git
synced 2025-02-23 14:48:35 +00:00
get longblob on mysql, reset migrations since we are going to do that anyway in hours
This commit is contained in:
parent
94a788a832
commit
489e0780a1
@ -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,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,16 +1,16 @@
|
|||||||
"""empty message
|
"""empty message
|
||||||
|
|
||||||
Revision ID: ac6b60d7fee9
|
Revision ID: ab91b129b473
|
||||||
Revises:
|
Revises:
|
||||||
Create Date: 2023-02-27 22:02:11.465980
|
Create Date: 2023-03-03 14:00:59.134381
|
||||||
|
|
||||||
"""
|
"""
|
||||||
from alembic import op
|
from alembic import op
|
||||||
import sqlalchemy as sa
|
import sqlalchemy as sa
|
||||||
|
from sqlalchemy.dialects import mysql
|
||||||
|
|
||||||
# revision identifiers, used by Alembic.
|
# revision identifiers, used by Alembic.
|
||||||
revision = 'ac6b60d7fee9'
|
revision = 'ab91b129b473'
|
||||||
down_revision = None
|
down_revision = None
|
||||||
branch_labels = None
|
branch_labels = None
|
||||||
depends_on = None
|
depends_on = None
|
||||||
@ -47,6 +47,18 @@ def upgrade():
|
|||||||
sa.PrimaryKeyConstraint('id'),
|
sa.PrimaryKeyConstraint('id'),
|
||||||
sa.UniqueConstraint('uri')
|
sa.UniqueConstraint('uri')
|
||||||
)
|
)
|
||||||
|
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.create_table('spec_reference_cache',
|
op.create_table('spec_reference_cache',
|
||||||
sa.Column('id', sa.Integer(), nullable=False),
|
sa.Column('id', sa.Integer(), nullable=False),
|
||||||
sa.Column('identifier', sa.String(length=255), nullable=True),
|
sa.Column('identifier', sa.String(length=255), nullable=True),
|
||||||
@ -68,6 +80,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),
|
||||||
@ -110,6 +123,8 @@ 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('serialized_bpmn_definition_id', sa.Integer(), nullable=True),
|
||||||
|
sa.Column('process_instance_data_id', sa.Integer(), 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),
|
||||||
@ -122,6 +137,8 @@ def upgrade():
|
|||||||
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(['process_initiator_id'], ['user.id'], ),
|
sa.ForeignKeyConstraint(['process_initiator_id'], ['user.id'], ),
|
||||||
|
sa.ForeignKeyConstraint(['process_instance_data_id'], ['process_instance_data.id'], ),
|
||||||
|
sa.ForeignKeyConstraint(['serialized_bpmn_definition_id'], ['serialized_bpmn_definition.id'], ),
|
||||||
sa.PrimaryKeyConstraint('id')
|
sa.PrimaryKeyConstraint('id')
|
||||||
)
|
)
|
||||||
op.create_index(op.f('ix_process_instance_process_model_display_name'), 'process_instance', ['process_model_display_name'], unique=False)
|
op.create_index(op.f('ix_process_instance_process_model_display_name'), 'process_instance', ['process_model_display_name'], unique=False)
|
||||||
@ -228,6 +245,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().with_variant(mysql.LONGBLOB(), 'mysql'), 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 +280,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,6 +323,8 @@ 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')
|
||||||
@ -311,6 +346,9 @@ def downgrade():
|
|||||||
op.drop_index(op.f('ix_spec_reference_cache_identifier'), table_name='spec_reference_cache')
|
op.drop_index(op.f('ix_spec_reference_cache_identifier'), table_name='spec_reference_cache')
|
||||||
op.drop_index(op.f('ix_spec_reference_cache_display_name'), table_name='spec_reference_cache')
|
op.drop_index(op.f('ix_spec_reference_cache_display_name'), table_name='spec_reference_cache')
|
||||||
op.drop_table('spec_reference_cache')
|
op.drop_table('spec_reference_cache')
|
||||||
|
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')
|
||||||
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')
|
@ -3,6 +3,7 @@ from dataclasses import dataclass
|
|||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
|
||||||
from sqlalchemy import ForeignKey
|
from sqlalchemy import ForeignKey
|
||||||
|
from sqlalchemy.dialects.mysql import LONGBLOB
|
||||||
|
|
||||||
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
|
||||||
@ -24,7 +25,9 @@ class ProcessInstanceFileDataModel(SpiffworkflowBaseDBModel):
|
|||||||
mimetype: str = db.Column(db.String(255), nullable=False)
|
mimetype: str = db.Column(db.String(255), nullable=False)
|
||||||
filename: str = db.Column(db.String(255), nullable=False)
|
filename: str = db.Column(db.String(255), nullable=False)
|
||||||
# this is not deferred because there is no reason to query this model if you do not want the contents
|
# this is not deferred because there is no reason to query this model if you do not want the contents
|
||||||
contents: str = db.Column(db.LargeBinary, nullable=False)
|
contents: str = db.Column(
|
||||||
|
db.LargeBinary().with_variant(LONGBLOB, "mysql"), nullable=False
|
||||||
|
)
|
||||||
digest: str = db.Column(db.String(64), nullable=False, index=True)
|
digest: str = db.Column(db.String(64), nullable=False, index=True)
|
||||||
|
|
||||||
updated_at_in_seconds: int = db.Column(db.Integer, nullable=False)
|
updated_at_in_seconds: int = db.Column(db.Integer, nullable=False)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user