71 lines
2.7 KiB
Python
71 lines
2.7 KiB
Python
"""empty message
|
|
|
|
Revision ID: 3191627ae224
|
|
Revises: 441dca328887
|
|
Create Date: 2023-12-18 17:08:53.142318
|
|
|
|
"""
|
|
# import os
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
from sqlalchemy.dialects import mysql
|
|
from spiffworkflow_backend.models.db import db, dialect_name
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision = '3191627ae224'
|
|
down_revision = '441dca328887'
|
|
branch_labels = None
|
|
depends_on = None
|
|
|
|
def is_mysql() -> bool:
|
|
return dialect_name() == 'mysql'
|
|
|
|
def is_postgres() -> bool:
|
|
return dialect_name() == 'postgres'
|
|
|
|
|
|
def upgrade():
|
|
# ### commands auto generated by Alembic - please adjust! ###
|
|
# we did in fact heavily adjust this one. be careful if auto-generating.
|
|
with op.batch_alter_table('task', schema=None) as batch_op:
|
|
if is_mysql():
|
|
batch_op.drop_index('guid')
|
|
batch_op.create_index(batch_op.f('ix_task_guid'), ['guid'], unique=False)
|
|
|
|
with op.batch_alter_table('human_task', schema=None) as batch_op:
|
|
batch_op.add_column(sa.Column('task_guid', sa.String(length=36), nullable=True))
|
|
|
|
# sqlite does not seem to have this foreignkey constraint
|
|
if is_postgres():
|
|
batch_op.drop_constraint('human_task_task_model_id_fkey', type_='foreignkey')
|
|
elif is_mysql():
|
|
batch_op.drop_constraint('human_task_ibfk_5', type_='foreignkey')
|
|
batch_op.drop_index('ix_human_task_task_model_id')
|
|
batch_op.create_index(batch_op.f('ix_human_task_task_guid'), ['task_guid'], unique=False)
|
|
batch_op.create_foreign_key('human_task_ibfk_task_guid', 'task', ['task_guid'], ['guid'])
|
|
batch_op.drop_column('task_model_id')
|
|
|
|
with op.batch_alter_table('task', schema=None) as batch_op:
|
|
batch_op.drop_column('id')
|
|
batch_op.create_primary_key('guid_pk', ['guid'])
|
|
|
|
# ### end Alembic commands ###
|
|
|
|
|
|
def downgrade():
|
|
# ### commands auto generated by Alembic - please adjust! ###
|
|
with op.batch_alter_table('task', schema=None) as batch_op:
|
|
batch_op.add_column(sa.Column('id', mysql.INTEGER(), autoincrement=True, nullable=False))
|
|
batch_op.drop_index(batch_op.f('ix_task_guid'))
|
|
batch_op.create_index('guid', ['guid'], unique=False)
|
|
|
|
with op.batch_alter_table('human_task', schema=None) as batch_op:
|
|
batch_op.add_column(sa.Column('task_model_id', mysql.INTEGER(), autoincrement=False, nullable=True))
|
|
batch_op.drop_constraint(None, type_='foreignkey')
|
|
batch_op.create_foreign_key('human_task_ibfk_5', 'task', ['task_model_id'], ['id'])
|
|
batch_op.drop_index(batch_op.f('ix_human_task_task_guid'))
|
|
batch_op.create_index('ix_human_task_task_model_id', ['task_model_id'], unique=False)
|
|
batch_op.drop_column('task_guid')
|
|
|
|
# ### end Alembic commands ###
|