felicity-lims/felicity/migrations/versions/6b56c3f30498_added_shipment.py

78 lines
3.6 KiB
Python

"""added shipment
Revision ID: 6b56c3f30498
Revises: 6433ae34d650
Create Date: 2023-05-17 17:20:42.137840
"""
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql
# revision identifiers, used by Alembic.
revision = '6b56c3f30498'
down_revision = '6433ae34d650'
branch_labels = None
depends_on = None
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.create_table('shipment',
sa.Column('shipment_id', sa.String(), nullable=False),
sa.Column('comment', sa.String(), nullable=True),
sa.Column('courier', sa.String(), nullable=False),
sa.Column('assigned_count', sa.Integer(), nullable=False),
sa.Column('data', postgresql.JSONB(astext_type=sa.Text()), nullable=True),
sa.Column('state', sa.String(), nullable=True),
sa.Column('incoming', sa.Boolean(), nullable=True),
sa.Column('finalised_by_uid', sa.String(), nullable=True),
sa.Column('date_finalised', sa.DateTime(), nullable=True),
sa.Column('dispatched_by_uid', sa.String(), nullable=True),
sa.Column('date_dispatched', sa.DateTime(), nullable=True),
sa.Column('recalled_by_uid', sa.String(), nullable=True),
sa.Column('date_recalled', sa.DateTime(), nullable=True),
sa.Column('rejected_by_uid', sa.String(), nullable=True),
sa.Column('date_rejected', sa.DateTime(), nullable=True),
sa.Column('received_by_uid', sa.String(), nullable=True),
sa.Column('date_received', sa.DateTime(), nullable=True),
sa.Column('json_content', postgresql.JSONB(astext_type=sa.Text()), nullable=True),
sa.Column('pdf_content', sa.LargeBinary(), nullable=True),
sa.Column('uid', sa.String(), nullable=False),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.String(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.String(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['dispatched_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['finalised_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['recalled_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['received_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['rejected_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_shipment_shipment_id'), 'shipment', ['shipment_id'], unique=True)
op.create_index(op.f('ix_shipment_uid'), 'shipment', ['uid'], unique=False)
op.create_table('shipedsample',
sa.Column('sample_uid', sa.String(), nullable=True),
sa.Column('shipment_uid', sa.String(), nullable=True),
sa.Column('uid', sa.String(), nullable=False),
sa.ForeignKeyConstraint(['sample_uid'], ['sample.uid'], ),
sa.ForeignKeyConstraint(['shipment_uid'], ['shipment.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_shipedsample_uid'), 'shipedsample', ['uid'], unique=False)
op.add_column('laboratorysetting', sa.Column('default_tat_minutes', sa.Integer(), nullable=True))
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_column('laboratorysetting', 'default_tat_minutes')
op.drop_index(op.f('ix_shipedsample_uid'), table_name='shipedsample')
op.drop_table('shipedsample')
op.drop_index(op.f('ix_shipment_uid'), table_name='shipment')
op.drop_index(op.f('ix_shipment_shipment_id'), table_name='shipment')
op.drop_table('shipment')
# ### end Alembic commands ###