felicity-lims/backend/felicity_lims/migrations/versions/4aa53e8318cc_init.py
2022-03-05 20:06:07 +02:00

2021 lines
110 KiB
Python

"""init
Revision ID: 4aa53e8318cc
Revises:
Create Date: 2022-03-03 10:27:40.548589
"""
from alembic import op
import sqlalchemy as sa
import sqlmodel
from sqlalchemy.dialects import postgresql
# revision identifiers, used by Alembic.
revision = '4aa53e8318cc'
down_revision = None
branch_labels = None
depends_on = None
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.create_table('auditlog',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('user_id', sa.Integer(), nullable=True),
sa.Column('target_type', sa.String(length=100), nullable=False),
sa.Column('target_id', sa.Integer(), nullable=True),
sa.Column('action', sa.Integer(), nullable=True),
sa.Column('state_before', sa.UnicodeText(), nullable=True),
sa.Column('state_after', sa.UnicodeText(), nullable=True),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_auditlog_uid'), 'auditlog', ['uid'], unique=False)
op.create_table('documentcategory',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=True),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_documentcategory_uid'), 'documentcategory', ['uid'], unique=False)
op.create_table('documenttag',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=True),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_documenttag_uid'), 'documenttag', ['uid'], unique=False)
op.create_table('group',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('keyword', sa.String(), nullable=False),
sa.Column('pages', sa.String(), nullable=True),
sa.Column('active', sa.Boolean(), nullable=True),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_group_keyword'), 'group', ['keyword'], unique=True)
op.create_index(op.f('ix_group_name'), 'group', ['name'], unique=True)
op.create_index(op.f('ix_group_uid'), 'group', ['uid'], unique=False)
op.create_table('idsequence',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('prefix', sa.String(), nullable=False),
sa.Column('number', sa.Integer(), nullable=False),
sa.PrimaryKeyConstraint('uid'),
sa.UniqueConstraint('prefix')
)
op.create_index(op.f('ix_idsequence_uid'), 'idsequence', ['uid'], unique=False)
op.create_table('job',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('action', sa.String(), nullable=True),
sa.Column('category', sa.String(), nullable=True),
sa.Column('priority', sa.Integer(), nullable=True),
sa.Column('job_id', sa.Integer(), nullable=True),
sa.Column('creator_uid', sa.Integer(), nullable=True),
sa.Column('status', sa.String(), nullable=True),
sa.Column('reason', sa.String(), nullable=True),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_job_uid'), 'job', ['uid'], unique=False)
op.create_table('permission',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('action', sa.String(), nullable=False),
sa.Column('target', sa.String(), nullable=False),
sa.Column('active', sa.Boolean(), nullable=True),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_permission_uid'), 'permission', ['uid'], unique=False)
op.create_table('userauth',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('user_name', sa.String(), nullable=False),
sa.Column('hashed_password', sa.String(), nullable=False),
sa.Column('login_retry', sa.Integer(), nullable=True),
sa.Column('is_blocked', sa.Boolean(), nullable=True),
sa.Column('user_type', sa.String(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('creator_name', sa.String(), nullable=True),
sa.Column('creator_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updator_name', sa.String(), nullable=True),
sa.Column('updator_uid', sa.Integer(), nullable=True),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_userauth_uid'), 'userauth', ['uid'], unique=False)
op.create_index(op.f('ix_userauth_user_name'), 'userauth', ['user_name'], unique=True)
op.create_table('permission_groups',
sa.Column('permission_uid', sa.Integer(), nullable=False),
sa.Column('group_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['group_uid'], ['group.uid'], ),
sa.ForeignKeyConstraint(['permission_uid'], ['permission.uid'], ),
sa.PrimaryKeyConstraint('permission_uid', 'group_uid')
)
op.create_table('user',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('first_name', sa.String(), nullable=True),
sa.Column('last_name', sa.String(), nullable=True),
sa.Column('email', sa.String(), nullable=False),
sa.Column('mobile_phone', sa.String(), nullable=True),
sa.Column('business_phone', sa.String(), nullable=True),
sa.Column('is_active', sa.Boolean(), nullable=True),
sa.Column('is_superuser', sa.Boolean(), nullable=True),
sa.Column('auth_uid', sa.Integer(), nullable=True),
sa.Column('avatar', sa.String(), nullable=True),
sa.Column('bio', sa.String(), nullable=True),
sa.Column('default_route', sa.Boolean(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('creator_name', sa.String(), nullable=True),
sa.Column('creator_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updator_name', sa.String(), nullable=True),
sa.Column('updator_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['auth_uid'], ['userauth.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_user_email'), 'user', ['email'], unique=True)
op.create_index(op.f('ix_user_first_name'), 'user', ['first_name'], unique=False)
op.create_index(op.f('ix_user_last_name'), 'user', ['last_name'], unique=False)
op.create_index(op.f('ix_user_uid'), 'user', ['uid'], unique=False)
op.create_table('activityfeed',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_activityfeed_uid'), 'activityfeed', ['uid'], unique=False)
op.create_table('activitystream',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('actor_uid', sa.Integer(), nullable=True),
sa.Column('verb', sa.String(), nullable=True),
sa.Column('action_object_type', sa.String(), nullable=True),
sa.Column('action_object_uid', sa.Integer(), nullable=True),
sa.Column('action_object', sa.String(), nullable=True),
sa.Column('target_uid', sa.Integer(), nullable=True),
sa.Column('target', sa.String(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['actor_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_activitystream_uid'), 'activitystream', ['uid'], unique=False)
op.create_table('country',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=True),
sa.Column('code', sa.String(), nullable=True),
sa.Column('active', sa.Boolean(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_country_code'), 'country', ['code'], unique=True)
op.create_index(op.f('ix_country_uid'), 'country', ['uid'], unique=False)
op.create_table('department',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('description', sa.String(), nullable=True),
sa.Column('code', sa.String(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_department_uid'), 'department', ['uid'], unique=False)
op.create_table('hazard',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('description', sa.String(), nullable=False),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_hazard_uid'), 'hazard', ['uid'], unique=False)
op.create_table('instrumenttype',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('description', sa.String(), nullable=False),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_instrumenttype_uid'), 'instrumenttype', ['uid'], unique=False)
op.create_table('laboratory',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('setup_name', sa.String(), nullable=False),
sa.Column('lab_name', sa.String(), nullable=False),
sa.Column('lab_manager_uid', sa.Integer(), nullable=True),
sa.Column('email', sa.String(), nullable=True),
sa.Column('email_cc', sa.String(), nullable=True),
sa.Column('mobile_phone', sa.String(), nullable=True),
sa.Column('business_phone', sa.String(), nullable=True),
sa.Column('address', sa.String(), nullable=True),
sa.Column('logo', sa.String(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['lab_manager_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_laboratory_uid'), 'laboratory', ['uid'], unique=False)
op.create_table('manufacturer',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('description', sa.String(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_manufacturer_uid'), 'manufacturer', ['uid'], unique=False)
op.create_table('messagethread',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('broadcast', sa.Boolean(), nullable=False),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_messagethread_uid'), 'messagethread', ['uid'], unique=False)
op.create_table('method',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('description', sa.String(), nullable=True),
sa.Column('keyword', sa.String(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_method_uid'), 'method', ['uid'], unique=False)
op.create_table('notice',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('title', sa.String(), nullable=False),
sa.Column('body', sa.String(), nullable=False),
sa.Column('expiry', sa.DateTime(), nullable=False),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_notice_uid'), 'notice', ['uid'], unique=False)
op.create_table('notification',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('message', sa.String(), nullable=False),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_notification_uid'), 'notification', ['uid'], unique=False)
op.create_table('qclevel',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('level', sa.String(), nullable=False),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_qclevel_uid'), 'qclevel', ['uid'], unique=False)
op.create_table('qcset',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('note', sa.String(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_qcset_uid'), 'qcset', ['uid'], unique=False)
op.create_table('qctemplate',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('description', sa.String(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_qctemplate_uid'), 'qctemplate', ['uid'], unique=False)
op.create_table('reflexrule',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('description', sa.String(), nullable=False),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_reflexrule_name'), 'reflexrule', ['name'], unique=True)
op.create_index(op.f('ix_reflexrule_uid'), 'reflexrule', ['uid'], unique=False)
op.create_table('rejectionreason',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('reason', sa.String(), nullable=False),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_rejectionreason_uid'), 'rejectionreason', ['uid'], unique=False)
op.create_table('reportmeta',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('report_type', sa.String(), nullable=True),
sa.Column('period_start', sa.DateTime(), nullable=True),
sa.Column('period_end', sa.DateTime(), nullable=True),
sa.Column('date_column', sa.String(), nullable=True),
sa.Column('location', sa.String(), nullable=True),
sa.Column('temp', sa.String(), nullable=True),
sa.Column('status', sa.String(), nullable=True),
sa.Column('sample_states', sa.String(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_reportmeta_uid'), 'reportmeta', ['uid'], unique=False)
op.create_table('sampletype',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('description', sa.String(), nullable=False),
sa.Column('active', sa.Boolean(), nullable=True),
sa.Column('internal_use', sa.Boolean(), nullable=True),
sa.Column('abbr', sa.String(), nullable=False),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_sampletype_uid'), 'sampletype', ['uid'], unique=False)
op.create_table('stockcategory',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('description', sa.String(), nullable=False),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_stockcategory_uid'), 'stockcategory', ['uid'], unique=False)
op.create_table('stockpackaging',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_stockpackaging_uid'), 'stockpackaging', ['uid'], unique=False)
op.create_table('stockunit',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_stockunit_uid'), 'stockunit', ['uid'], unique=False)
op.create_table('storeroom',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('description', sa.String(), nullable=False),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_storeroom_uid'), 'storeroom', ['uid'], unique=False)
op.create_table('supplier',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('description', sa.String(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_supplier_uid'), 'supplier', ['uid'], unique=False)
op.create_table('tasktag',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_tasktag_uid'), 'tasktag', ['uid'], unique=False)
op.create_table('unit',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('is_si_unit', sa.Boolean(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_unit_uid'), 'unit', ['uid'], unique=False)
op.create_table('user_groups',
sa.Column('user_uid', sa.Integer(), nullable=False),
sa.Column('group_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['group_uid'], ['group.uid'], ),
sa.ForeignKeyConstraint(['user_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('user_uid', 'group_uid')
)
op.create_table('userpreference',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('user_uid', sa.Integer(), nullable=True),
sa.Column('expanded_menu', sa.Boolean(), nullable=True),
sa.Column('theme', sa.String(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['user_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_userpreference_uid'), 'userpreference', ['uid'], unique=False)
op.create_table('activity_feed_subscription',
sa.Column('activity_feed_uid', sa.Integer(), nullable=False),
sa.Column('user_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['activity_feed_uid'], ['activityfeed.uid'], ),
sa.ForeignKeyConstraint(['user_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('activity_feed_uid', 'user_uid')
)
op.create_table('activity_stream_feed',
sa.Column('activity_feed_uid', sa.Integer(), nullable=False),
sa.Column('stream_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['activity_feed_uid'], ['activityfeed.uid'], ),
sa.ForeignKeyConstraint(['stream_uid'], ['activitystream.uid'], ),
sa.PrimaryKeyConstraint('activity_feed_uid', 'stream_uid')
)
op.create_table('activity_stream_view',
sa.Column('activity_stream_uid', sa.Integer(), nullable=False),
sa.Column('user_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['activity_stream_uid'], ['activitystream.uid'], ),
sa.ForeignKeyConstraint(['user_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('activity_stream_uid', 'user_uid')
)
op.create_table('analysiscategory',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('description', sa.String(), nullable=False),
sa.Column('department_uid', sa.Integer(), nullable=True),
sa.Column('active', sa.Boolean(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['department_uid'], ['department.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_analysiscategory_uid'), 'analysiscategory', ['uid'], unique=False)
op.create_table('board',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('title', sa.String(), nullable=True),
sa.Column('description', sa.String(), nullable=True),
sa.Column('archived', sa.Boolean(), nullable=True),
sa.Column('department_uid', sa.Integer(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['department_uid'], ['department.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_board_uid'), 'board', ['uid'], unique=False)
op.create_table('department_notice',
sa.Column('notice_uid', sa.Integer(), nullable=False),
sa.Column('department_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['department_uid'], ['department.uid'], ),
sa.ForeignKeyConstraint(['notice_uid'], ['notice.uid'], ),
sa.PrimaryKeyConstraint('notice_uid', 'department_uid')
)
op.create_table('department_notification',
sa.Column('notification_uid', sa.Integer(), nullable=False),
sa.Column('department_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['department_uid'], ['department.uid'], ),
sa.ForeignKeyConstraint(['notification_uid'], ['notification.uid'], ),
sa.PrimaryKeyConstraint('notification_uid', 'department_uid')
)
op.create_table('department_preference',
sa.Column('department_uid', sa.Integer(), nullable=False),
sa.Column('preference_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['department_uid'], ['department.uid'], ),
sa.ForeignKeyConstraint(['preference_uid'], ['userpreference.uid'], ),
sa.PrimaryKeyConstraint('department_uid', 'preference_uid')
)
op.create_table('document',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=True),
sa.Column('subtitle', sa.String(), nullable=True),
sa.Column('document_id', sa.String(), nullable=True),
sa.Column('content', sa.String(), nullable=True),
sa.Column('version', sa.String(), nullable=True),
sa.Column('department_uid', sa.Integer(), nullable=True),
sa.Column('category_uid', sa.Integer(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('modified_by_uid', sa.Integer(), nullable=True),
sa.Column('date_archived', sa.DateTime(), nullable=True),
sa.Column('archived_by_uid', sa.Integer(), nullable=True),
sa.Column('date_recalled', sa.DateTime(), nullable=True),
sa.Column('recalled_by_uid', sa.Integer(), nullable=True),
sa.Column('date_effected', sa.DateTime(), nullable=True),
sa.Column('effected_by_uid', sa.Integer(), nullable=True),
sa.Column('date_approved', sa.DateTime(), nullable=True),
sa.Column('approved_by_uid', sa.Integer(), nullable=True),
sa.Column('last_accessed', sa.DateTime(), nullable=True),
sa.Column('last_accessed_by_uid', sa.Integer(), nullable=True),
sa.Column('status', sa.String(), nullable=True),
sa.ForeignKeyConstraint(['approved_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['archived_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['category_uid'], ['documentcategory.uid'], ),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['department_uid'], ['department.uid'], ),
sa.ForeignKeyConstraint(['effected_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['last_accessed_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['modified_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['recalled_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_document_uid'), 'document', ['uid'], unique=False)
op.create_table('group_notice',
sa.Column('notice_uid', sa.Integer(), nullable=False),
sa.Column('group_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['group_uid'], ['group.uid'], ),
sa.ForeignKeyConstraint(['notice_uid'], ['notice.uid'], ),
sa.PrimaryKeyConstraint('notice_uid', 'group_uid')
)
op.create_table('group_notification',
sa.Column('notification_uid', sa.Integer(), nullable=False),
sa.Column('group_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['group_uid'], ['group.uid'], ),
sa.ForeignKeyConstraint(['notification_uid'], ['notification.uid'], ),
sa.PrimaryKeyConstraint('notification_uid', 'group_uid')
)
op.create_table('instrument',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('description', sa.String(), nullable=True),
sa.Column('keyword', sa.String(), nullable=True),
sa.Column('instrument_type_uid', sa.Integer(), nullable=True),
sa.Column('supplier_uid', sa.Integer(), nullable=True),
sa.Column('manufacturer_uid', sa.Integer(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['instrument_type_uid'], ['instrumenttype.uid'], ),
sa.ForeignKeyConstraint(['manufacturer_uid'], ['manufacturer.uid'], ),
sa.ForeignKeyConstraint(['supplier_uid'], ['supplier.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_instrument_uid'), 'instrument', ['uid'], unique=False)
op.create_table('laboratorysetting',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('laboratory_uid', sa.Integer(), nullable=True),
sa.Column('allow_self_verification', sa.Boolean(), nullable=False),
sa.Column('allow_patient_registration', sa.Boolean(), nullable=True),
sa.Column('allow_sample_registration', sa.Boolean(), nullable=True),
sa.Column('allow_worksheet_creation', sa.Boolean(), nullable=True),
sa.Column('default_route', sa.String(), nullable=True),
sa.Column('password_lifetime', sa.Integer(), nullable=True),
sa.Column('inactivity_log_out', sa.Integer(), nullable=True),
sa.Column('default_theme', sa.String(), nullable=True),
sa.Column('auto_receive_samples', sa.Boolean(), nullable=True),
sa.Column('sticker_copies', sa.Integer(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['laboratory_uid'], ['laboratory.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_laboratorysetting_uid'), 'laboratorysetting', ['uid'], unique=False)
op.create_table('message',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('thread_uid', sa.Integer(), nullable=True),
sa.Column('body', sa.String(), nullable=False),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.Column('tree_id', sa.Integer(), nullable=True),
sa.Column('parent_id', sa.Integer(), nullable=True),
sa.Column('lft', sa.Integer(), nullable=False),
sa.Column('rgt', sa.Integer(), nullable=False),
sa.Column('level', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['parent_id'], ['message.uid'], ondelete='CASCADE'),
sa.ForeignKeyConstraint(['thread_uid'], ['messagethread.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_message_level'), 'message', ['level'], unique=False)
op.create_index(op.f('ix_message_lft'), 'message', ['lft'], unique=False)
op.create_index(op.f('ix_message_rgt'), 'message', ['rgt'], unique=False)
op.create_index(op.f('ix_message_uid'), 'message', ['uid'], unique=False)
op.create_table('message_thread_delete',
sa.Column('message_thread_uid', sa.Integer(), nullable=False),
sa.Column('user_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['message_thread_uid'], ['messagethread.uid'], ),
sa.ForeignKeyConstraint(['user_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('message_thread_uid', 'user_uid')
)
op.create_table('message_thread_recipient',
sa.Column('message_thread_uid', sa.Integer(), nullable=False),
sa.Column('user_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['message_thread_uid'], ['messagethread.uid'], ),
sa.ForeignKeyConstraint(['user_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('message_thread_uid', 'user_uid')
)
op.create_table('notice_view',
sa.Column('notice_uid', sa.Integer(), nullable=False),
sa.Column('user_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['notice_uid'], ['notice.uid'], ),
sa.ForeignKeyConstraint(['user_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('notice_uid', 'user_uid')
)
op.create_table('notification_view',
sa.Column('notification_uid', sa.Integer(), nullable=False),
sa.Column('user_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['notification_uid'], ['notification.uid'], ),
sa.ForeignKeyConstraint(['user_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('notification_uid', 'user_uid')
)
op.create_table('profile',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('description', sa.String(), nullable=False),
sa.Column('keyword', sa.String(), nullable=True),
sa.Column('tat_length_minutes', sa.Integer(), nullable=True),
sa.Column('active', sa.Boolean(), nullable=True),
sa.Column('department_uid', sa.Integer(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['department_uid'], ['department.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid'),
sa.UniqueConstraint('keyword')
)
op.create_index(op.f('ix_profile_uid'), 'profile', ['uid'], unique=False)
op.create_table('province',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('code', sa.String(), nullable=True),
sa.Column('name', sa.String(), nullable=True),
sa.Column('email', sa.String(), nullable=True),
sa.Column('email_cc', sa.String(), nullable=True),
sa.Column('mobile_phone', sa.String(), nullable=True),
sa.Column('business_phone', sa.String(), nullable=True),
sa.Column('active', sa.Boolean(), nullable=True),
sa.Column('country_uid', sa.Integer(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['country_uid'], ['country.uid'], ),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_province_code'), 'province', ['code'], unique=True)
op.create_index(op.f('ix_province_uid'), 'province', ['uid'], unique=False)
op.create_table('qc_template_department',
sa.Column('department_uid', sa.Integer(), nullable=False),
sa.Column('qc_template_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['department_uid'], ['department.uid'], ),
sa.ForeignKeyConstraint(['qc_template_uid'], ['qctemplate.uid'], ),
sa.PrimaryKeyConstraint('department_uid', 'qc_template_uid')
)
op.create_table('qc_template_qc_level',
sa.Column('qc_level_uid', sa.Integer(), nullable=False),
sa.Column('qc_template_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['qc_level_uid'], ['qclevel.uid'], ),
sa.ForeignKeyConstraint(['qc_template_uid'], ['qctemplate.uid'], ),
sa.PrimaryKeyConstraint('qc_level_uid', 'qc_template_uid')
)
op.create_table('qcreference',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('description', sa.String(), nullable=False),
sa.Column('department_uid', sa.Integer(), nullable=True),
sa.Column('is_string_result', sa.Boolean(), nullable=True),
sa.Column('expected_result', sa.String(), nullable=True),
sa.Column('min_value', sa.Float(), nullable=True),
sa.Column('max_value', sa.Float(), nullable=True),
sa.Column('allowable_error', sa.Float(), nullable=True),
sa.Column('ref_date_created', sa.DateTime(), nullable=True),
sa.Column('ref_date_opened', sa.DateTime(), nullable=True),
sa.Column('ref_date_expiry', sa.String(), nullable=True),
sa.Column('is_active', sa.Boolean(), nullable=False),
sa.Column('manufacturer', sa.String(), nullable=True),
sa.Column('supplier', sa.String(), nullable=True),
sa.Column('catalog_number', sa.String(), nullable=True),
sa.Column('lot_number', sa.String(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['department_uid'], ['department.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_qcreference_uid'), 'qcreference', ['uid'], unique=False)
op.create_table('reflexaction',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('level', sa.Integer(), nullable=False),
sa.Column('description', sa.String(), nullable=False),
sa.Column('sample_type_uid', sa.Integer(), nullable=True),
sa.Column('reflex_rule_uid', sa.Integer(), nullable=False),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['reflex_rule_uid'], ['reflexrule.uid'], ),
sa.ForeignKeyConstraint(['sample_type_uid'], ['sampletype.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_reflexaction_uid'), 'reflexaction', ['uid'], unique=False)
op.create_table('stockitem',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('description', sa.String(), nullable=False),
sa.Column('department_uid', sa.Integer(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['department_uid'], ['department.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_stockitem_uid'), 'stockitem', ['uid'], unique=False)
op.create_table('stockorder',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('order_by_uid', sa.Integer(), nullable=True),
sa.Column('department_uid', sa.Integer(), nullable=True),
sa.Column('status', sa.String(), nullable=False),
sa.Column('order_number', sa.String(), nullable=False),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['department_uid'], ['department.uid'], ),
sa.ForeignKeyConstraint(['order_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_stockorder_uid'), 'stockorder', ['uid'], unique=False)
op.create_table('stockproduct',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('department_uid', sa.Integer(), nullable=True),
sa.Column('supplier_uid', sa.Integer(), nullable=True),
sa.Column('category_uid', sa.Integer(), nullable=True),
sa.Column('hazard_uid', sa.Integer(), nullable=True),
sa.Column('store_room_uid', sa.Integer(), nullable=True),
sa.Column('lot_number', sa.String(), nullable=False),
sa.Column('batch', sa.String(), nullable=False),
sa.Column('size', sa.Float(), nullable=False),
sa.Column('unit_uid', sa.Integer(), nullable=True),
sa.Column('packaging_uid', sa.Integer(), nullable=True),
sa.Column('price', sa.Float(), nullable=False),
sa.Column('quantity_received', sa.Integer(), nullable=False),
sa.Column('minimum_level', sa.Integer(), nullable=False),
sa.Column('remaining', sa.Integer(), nullable=False),
sa.Column('date_received', sa.DateTime(), nullable=False),
sa.Column('expiry_date', sa.DateTime(), nullable=False),
sa.Column('received_by_uid', sa.Integer(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['category_uid'], ['stockcategory.uid'], ),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['department_uid'], ['department.uid'], ),
sa.ForeignKeyConstraint(['hazard_uid'], ['hazard.uid'], ),
sa.ForeignKeyConstraint(['packaging_uid'], ['stockpackaging.uid'], ),
sa.ForeignKeyConstraint(['received_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['store_room_uid'], ['storeroom.uid'], ),
sa.ForeignKeyConstraint(['supplier_uid'], ['supplier.uid'], ),
sa.ForeignKeyConstraint(['unit_uid'], ['stockunit.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_stockproduct_uid'), 'stockproduct', ['uid'], unique=False)
op.create_table('storagelocation',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('description', sa.String(), nullable=False),
sa.Column('store_room_uid', sa.Integer(), nullable=False),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['store_room_uid'], ['storeroom.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_storagelocation_uid'), 'storagelocation', ['uid'], unique=False)
op.create_table('user_notification',
sa.Column('notification_uid', sa.Integer(), nullable=False),
sa.Column('user_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['notification_uid'], ['notification.uid'], ),
sa.ForeignKeyConstraint(['user_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('notification_uid', 'user_uid')
)
op.create_table('analysis',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('description', sa.String(), nullable=False),
sa.Column('keyword', sa.String(), nullable=False),
sa.Column('unit_uid', sa.Integer(), nullable=True),
sa.Column('category_uid', sa.Integer(), nullable=True),
sa.Column('tat_length_minutes', sa.Integer(), nullable=True),
sa.Column('sort_key', sa.Integer(), nullable=True),
sa.Column('internal_use', sa.Boolean(), nullable=True),
sa.Column('department_uid', sa.Integer(), nullable=True),
sa.Column('precision', sa.Integer(), nullable=True),
sa.Column('required_verifications', sa.Integer(), nullable=True),
sa.Column('hidden', sa.Boolean(), nullable=True),
sa.Column('active', sa.Boolean(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['category_uid'], ['analysiscategory.uid'], ),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['department_uid'], ['department.uid'], ),
sa.ForeignKeyConstraint(['unit_uid'], ['unit.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid'),
sa.UniqueConstraint('keyword')
)
op.create_index(op.f('ix_analysis_uid'), 'analysis', ['uid'], unique=False)
op.create_table('boardlisting',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('title', sa.String(), nullable=True),
sa.Column('description', sa.String(), nullable=True),
sa.Column('board_uid', sa.Integer(), nullable=False),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['board_uid'], ['board.uid'], ),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_boardlisting_uid'), 'boardlisting', ['uid'], unique=False)
op.create_table('calibrationcertificate',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('instrument_uid', sa.Integer(), nullable=True),
sa.Column('certificate_code', sa.String(), nullable=False),
sa.Column('internal', sa.Boolean(), nullable=False),
sa.Column('issuer', sa.String(), nullable=True),
sa.Column('date_issued', sa.DateTime(), nullable=True),
sa.Column('valid_from_date', sa.DateTime(), nullable=True),
sa.Column('valid_to_date', sa.DateTime(), nullable=True),
sa.Column('performed_by', sa.String(), nullable=True),
sa.Column('approved_by', sa.String(), nullable=True),
sa.Column('remarks', sa.String(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['instrument_uid'], ['instrument.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_calibrationcertificate_certificate_code'), 'calibrationcertificate', ['certificate_code'], unique=True)
op.create_index(op.f('ix_calibrationcertificate_uid'), 'calibrationcertificate', ['uid'], unique=False)
op.create_table('district',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('code', sa.String(), nullable=True),
sa.Column('name', sa.String(), nullable=True),
sa.Column('email', sa.String(), nullable=True),
sa.Column('email_cc', sa.String(), nullable=True),
sa.Column('mobile_phone', sa.String(), nullable=True),
sa.Column('business_phone', sa.String(), nullable=True),
sa.Column('active', sa.Boolean(), nullable=True),
sa.Column('province_uid', sa.Integer(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['province_uid'], ['province.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_district_code'), 'district', ['code'], unique=True)
op.create_index(op.f('ix_district_uid'), 'district', ['uid'], unique=False)
op.create_table('document_authors',
sa.Column('document_uid', sa.Integer(), nullable=False),
sa.Column('user_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['document_uid'], ['document.uid'], ),
sa.ForeignKeyConstraint(['user_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('document_uid', 'user_uid')
)
op.create_table('document_readers',
sa.Column('document_uid', sa.Integer(), nullable=False),
sa.Column('user_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['document_uid'], ['document.uid'], ),
sa.ForeignKeyConstraint(['user_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('document_uid', 'user_uid')
)
op.create_table('document_tags',
sa.Column('document_uid', sa.Integer(), nullable=False),
sa.Column('tag_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['document_uid'], ['document.uid'], ),
sa.ForeignKeyConstraint(['tag_uid'], ['documenttag.uid'], ),
sa.PrimaryKeyConstraint('document_uid', 'tag_uid')
)
op.create_table('instrumentcalibration',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('instrument_uid', sa.Integer(), nullable=True),
sa.Column('calibration_id', sa.String(), nullable=False),
sa.Column('date_reported', sa.DateTime(), nullable=True),
sa.Column('report_id', sa.String(), nullable=True),
sa.Column('performed_by', sa.String(), nullable=True),
sa.Column('start_date', sa.DateTime(), nullable=True),
sa.Column('end_date', sa.DateTime(), nullable=True),
sa.Column('notes_before', sa.String(), nullable=True),
sa.Column('work_done', sa.String(), nullable=True),
sa.Column('remarks', sa.String(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['instrument_uid'], ['instrument.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_instrumentcalibration_calibration_id'), 'instrumentcalibration', ['calibration_id'], unique=True)
op.create_index(op.f('ix_instrumentcalibration_report_id'), 'instrumentcalibration', ['report_id'], unique=True)
op.create_index(op.f('ix_instrumentcalibration_uid'), 'instrumentcalibration', ['uid'], unique=False)
op.create_table('message_delete',
sa.Column('message_uid', sa.Integer(), nullable=False),
sa.Column('user_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['message_uid'], ['message.uid'], ),
sa.ForeignKeyConstraint(['user_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('message_uid', 'user_uid')
)
op.create_table('message_view',
sa.Column('message_uid', sa.Integer(), nullable=False),
sa.Column('user_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['message_uid'], ['message.uid'], ),
sa.ForeignKeyConstraint(['user_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('message_uid', 'user_uid')
)
op.create_table('method_instrument',
sa.Column('method_uid', sa.Integer(), nullable=False),
sa.Column('instrument_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['instrument_uid'], ['instrument.uid'], ),
sa.ForeignKeyConstraint(['method_uid'], ['method.uid'], ),
sa.PrimaryKeyConstraint('method_uid', 'instrument_uid')
)
op.create_table('reflexbrain',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('reflex_action_uid', sa.Integer(), nullable=False),
sa.Column('description', sa.String(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['reflex_action_uid'], ['reflexaction.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_reflexbrain_uid'), 'reflexbrain', ['uid'], unique=False)
op.create_table('stockadjustment',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('product_uid', sa.Integer(), nullable=True),
sa.Column('adjustment_type', sa.String(), nullable=False),
sa.Column('adjust', sa.Integer(), nullable=False),
sa.Column('adjustment_date', sa.DateTime(), nullable=False),
sa.Column('remarks', sa.String(), nullable=False),
sa.Column('adjustment_by_uid', sa.Integer(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['adjustment_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['product_uid'], ['stockproduct.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_stockadjustment_uid'), 'stockadjustment', ['uid'], unique=False)
op.create_table('stockorderproduct',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('product_uid', sa.Integer(), nullable=True),
sa.Column('order_uid', sa.Integer(), nullable=True),
sa.Column('price', sa.Float(), nullable=False),
sa.Column('quantity', sa.Integer(), nullable=False),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['order_uid'], ['stockorder.uid'], ),
sa.ForeignKeyConstraint(['product_uid'], ['stockproduct.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_stockorderproduct_uid'), 'stockorderproduct', ['uid'], unique=False)
op.create_table('stocktransaction',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('product_uid', sa.Integer(), nullable=True),
sa.Column('issued', sa.Integer(), nullable=False),
sa.Column('department_uid', sa.Integer(), nullable=True),
sa.Column('date_issued', sa.DateTime(), nullable=False),
sa.Column('transaction_by_uid', sa.Integer(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['department_uid'], ['department.uid'], ),
sa.ForeignKeyConstraint(['product_uid'], ['stockproduct.uid'], ),
sa.ForeignKeyConstraint(['transaction_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_stocktransaction_uid'), 'stocktransaction', ['uid'], unique=False)
op.create_table('storagesection',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('description', sa.String(), nullable=False),
sa.Column('storage_location_uid', sa.Integer(), nullable=False),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['storage_location_uid'], ['storagelocation.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_storagesection_uid'), 'storagesection', ['uid'], unique=False)
op.create_table('worksheettemplate',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('worksheet_type', sa.String(), nullable=True),
sa.Column('reserved', postgresql.JSONB(astext_type=sa.Text()), nullable=True),
sa.Column('plate', postgresql.JSONB(astext_type=sa.Text()), nullable=True),
sa.Column('number_of_samples', sa.Integer(), nullable=True),
sa.Column('rows', sa.Integer(), nullable=True),
sa.Column('cols', sa.Integer(), nullable=True),
sa.Column('row_wise', sa.Boolean(), nullable=True),
sa.Column('state', sa.String(), nullable=True),
sa.Column('name', sa.String(), nullable=False),
sa.Column('description', sa.String(), nullable=True),
sa.Column('qc_template_uid', sa.Integer(), nullable=True),
sa.Column('instrument_uid', sa.Integer(), nullable=True),
sa.Column('sample_type_uid', sa.Integer(), nullable=False),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['instrument_uid'], ['instrument.uid'], ),
sa.ForeignKeyConstraint(['qc_template_uid'], ['qctemplate.uid'], ),
sa.ForeignKeyConstraint(['sample_type_uid'], ['sampletype.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid'),
sa.UniqueConstraint('name')
)
op.create_index(op.f('ix_worksheettemplate_uid'), 'worksheettemplate', ['uid'], unique=False)
op.create_table('analysis_instrument',
sa.Column('analysis_uid', sa.Integer(), nullable=False),
sa.Column('instrument_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
sa.ForeignKeyConstraint(['instrument_uid'], ['instrument.uid'], ),
sa.PrimaryKeyConstraint('analysis_uid', 'instrument_uid')
)
op.create_table('analysis_method',
sa.Column('analysis_uid', sa.Integer(), nullable=False),
sa.Column('method_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
sa.ForeignKeyConstraint(['method_uid'], ['method.uid'], ),
sa.PrimaryKeyConstraint('analysis_uid', 'method_uid')
)
op.create_table('analysis_profile',
sa.Column('analysis_uid', sa.Integer(), nullable=False),
sa.Column('profile_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
sa.ForeignKeyConstraint(['profile_uid'], ['profile.uid'], ),
sa.PrimaryKeyConstraint('analysis_uid', 'profile_uid')
)
op.create_table('analysis_reports',
sa.Column('analysis_uid', sa.Integer(), nullable=False),
sa.Column('report_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
sa.ForeignKeyConstraint(['report_uid'], ['reportmeta.uid'], ),
sa.PrimaryKeyConstraint('analysis_uid', 'report_uid')
)
op.create_table('analysis_sample_type',
sa.Column('sample_type_uid', sa.Integer(), nullable=False),
sa.Column('analysis_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
sa.ForeignKeyConstraint(['sample_type_uid'], ['sampletype.uid'], ),
sa.PrimaryKeyConstraint('sample_type_uid', 'analysis_uid')
)
op.create_table('analysiscorrectionfactor',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('factor', sa.Float(), nullable=False),
sa.Column('analysis_uid', sa.Integer(), nullable=True),
sa.Column('instrument_uid', sa.Integer(), nullable=True),
sa.Column('method_uid', sa.Integer(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['instrument_uid'], ['instrument.uid'], ),
sa.ForeignKeyConstraint(['method_uid'], ['method.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_analysiscorrectionfactor_uid'), 'analysiscorrectionfactor', ['uid'], unique=False)
op.create_table('analysisdetectionlimit',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('lower_limit', sa.Float(), nullable=False),
sa.Column('upper_limit', sa.Float(), nullable=False),
sa.Column('analysis_uid', sa.Integer(), nullable=True),
sa.Column('instrument_uid', sa.Integer(), nullable=True),
sa.Column('method_uid', sa.Integer(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['instrument_uid'], ['instrument.uid'], ),
sa.ForeignKeyConstraint(['method_uid'], ['method.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_analysisdetectionlimit_uid'), 'analysisdetectionlimit', ['uid'], unique=False)
op.create_table('analysisinterim',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('key', sa.Integer(), nullable=False),
sa.Column('value', sa.String(), nullable=False),
sa.Column('analysis_uid', sa.Integer(), nullable=True),
sa.Column('instrument_uid', sa.Integer(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['instrument_uid'], ['instrument.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_analysisinterim_uid'), 'analysisinterim', ['uid'], unique=False)
op.create_table('analysisspecification',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('analysis_uid', sa.Integer(), nullable=True),
sa.Column('unit_uid', sa.Integer(), nullable=True),
sa.Column('min', sa.Float(), nullable=True),
sa.Column('max', sa.Float(), nullable=True),
sa.Column('min_warn', sa.Float(), nullable=True),
sa.Column('max_warn', sa.Float(), nullable=True),
sa.Column('min_report', sa.String(), nullable=True),
sa.Column('max_report', sa.String(), nullable=True),
sa.Column('warn_values', sa.String(), nullable=True),
sa.Column('warn_report', sa.String(), nullable=True),
sa.Column('method_uid', sa.Integer(), nullable=True),
sa.Column('gender', sa.String(), nullable=True),
sa.Column('age_min', sa.Integer(), nullable=True),
sa.Column('age_max', sa.Integer(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['method_uid'], ['method.uid'], ),
sa.ForeignKeyConstraint(['unit_uid'], ['unit.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_analysisspecification_uid'), 'analysisspecification', ['uid'], unique=False)
op.create_table('analysisuncertainty',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('min', sa.Float(), nullable=False),
sa.Column('max', sa.Float(), nullable=False),
sa.Column('value', sa.Float(), nullable=False),
sa.Column('analysis_uid', sa.Integer(), nullable=True),
sa.Column('instrument_uid', sa.Integer(), nullable=True),
sa.Column('method_uid', sa.Integer(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['instrument_uid'], ['instrument.uid'], ),
sa.ForeignKeyConstraint(['method_uid'], ['method.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_analysisuncertainty_uid'), 'analysisuncertainty', ['uid'], unique=False)
op.create_table('client',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('code', sa.String(), nullable=False),
sa.Column('district_uid', sa.Integer(), nullable=True),
sa.Column('province_uid', sa.Integer(), nullable=True),
sa.Column('email', sa.String(), nullable=True),
sa.Column('email_cc', sa.String(), nullable=True),
sa.Column('consent_email', sa.Boolean(), nullable=True),
sa.Column('phone_mobile', sa.String(), nullable=True),
sa.Column('phone_business', sa.String(), nullable=True),
sa.Column('consent_sms', sa.Boolean(), nullable=True),
sa.Column('internal_use', sa.Boolean(), nullable=True),
sa.Column('active', sa.Boolean(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['district_uid'], ['district.uid'], ),
sa.ForeignKeyConstraint(['province_uid'], ['province.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_client_code'), 'client', ['code'], unique=True)
op.create_index(op.f('ix_client_uid'), 'client', ['uid'], unique=False)
op.create_table('listingtask',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('title', sa.String(), nullable=True),
sa.Column('description', sa.String(), nullable=True),
sa.Column('listing_uid', sa.Integer(), nullable=False),
sa.Column('assignee_uid', sa.Integer(), nullable=True),
sa.Column('due_date', sa.DateTime(), nullable=True),
sa.Column('complete', sa.Boolean(), nullable=True),
sa.Column('archived', sa.Boolean(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['assignee_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['listing_uid'], ['boardlisting.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_listingtask_uid'), 'listingtask', ['uid'], unique=False)
op.create_table('qc_reference_analysis',
sa.Column('qc_reference_uid', sa.Integer(), nullable=False),
sa.Column('analysis_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
sa.ForeignKeyConstraint(['qc_reference_uid'], ['qcreference.uid'], ),
sa.PrimaryKeyConstraint('qc_reference_uid', 'analysis_uid')
)
op.create_table('reflex_action_analysis',
sa.Column('analysis_uid', sa.Integer(), nullable=False),
sa.Column('reflex_action_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
sa.ForeignKeyConstraint(['reflex_action_uid'], ['reflexaction.uid'], ),
sa.PrimaryKeyConstraint('analysis_uid', 'reflex_action_uid')
)
op.create_table('reflexbrainaddition',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('analysis_uid', sa.Integer(), nullable=False),
sa.Column('reflex_brain_uid', sa.Integer(), nullable=False),
sa.Column('count', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
sa.ForeignKeyConstraint(['reflex_brain_uid'], ['reflexbrain.uid'], ),
sa.PrimaryKeyConstraint('uid', 'analysis_uid', 'reflex_brain_uid')
)
op.create_index(op.f('ix_reflexbrainaddition_uid'), 'reflexbrainaddition', ['uid'], unique=False)
op.create_table('reflexbraincriteria',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('analysis_uid', sa.Integer(), nullable=False),
sa.Column('reflex_brain_uid', sa.Integer(), nullable=False),
sa.Column('operator', sa.String(), nullable=False),
sa.Column('value', sa.String(), nullable=True),
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
sa.ForeignKeyConstraint(['reflex_brain_uid'], ['reflexbrain.uid'], ),
sa.PrimaryKeyConstraint('uid', 'analysis_uid', 'reflex_brain_uid')
)
op.create_index(op.f('ix_reflexbraincriteria_uid'), 'reflexbraincriteria', ['uid'], unique=False)
op.create_table('reflexbrainfinal',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('analysis_uid', sa.Integer(), nullable=False),
sa.Column('reflex_brain_uid', sa.Integer(), nullable=False),
sa.Column('value', sa.String(), nullable=True),
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
sa.ForeignKeyConstraint(['reflex_brain_uid'], ['reflexbrain.uid'], ),
sa.PrimaryKeyConstraint('uid', 'analysis_uid', 'reflex_brain_uid')
)
op.create_index(op.f('ix_reflexbrainfinal_uid'), 'reflexbrainfinal', ['uid'], unique=False)
op.create_table('resultoption',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('option_key', sa.Integer(), nullable=False),
sa.Column('value', sa.String(), nullable=False),
sa.Column('analysis_uid', sa.Integer(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_resultoption_uid'), 'resultoption', ['uid'], unique=False)
op.create_table('storagecontainer',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('name', sa.String(), nullable=False),
sa.Column('storage_section_uid', sa.Integer(), nullable=False),
sa.Column('grid', sa.Boolean(), nullable=True),
sa.Column('row_wise', sa.Boolean(), nullable=True),
sa.Column('columns', sa.Integer(), nullable=False),
sa.Column('rows', sa.Integer(), nullable=False),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['storage_section_uid'], ['storagesection.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_storagecontainer_uid'), 'storagecontainer', ['uid'], unique=False)
op.create_table('worksheet',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('worksheet_type', sa.String(), nullable=True),
sa.Column('reserved', postgresql.JSONB(astext_type=sa.Text()), nullable=True),
sa.Column('plate', postgresql.JSONB(astext_type=sa.Text()), nullable=True),
sa.Column('number_of_samples', sa.Integer(), nullable=True),
sa.Column('rows', sa.Integer(), nullable=True),
sa.Column('cols', sa.Integer(), nullable=True),
sa.Column('row_wise', sa.Boolean(), nullable=True),
sa.Column('state', sa.String(), nullable=True),
sa.Column('template_uid', sa.Integer(), nullable=False),
sa.Column('analyst_uid', sa.Integer(), nullable=False),
sa.Column('worksheet_id', sa.String(), nullable=False),
sa.Column('instrument_uid', sa.Integer(), nullable=True),
sa.Column('sample_type_uid', sa.Integer(), nullable=False),
sa.Column('assigned_count', sa.Integer(), nullable=False),
sa.Column('submitted_by_uid', sa.Integer(), nullable=True),
sa.Column('date_submitted', sa.DateTime(), nullable=True),
sa.Column('verified_by_uid', sa.Integer(), nullable=True),
sa.Column('date_verified', sa.DateTime(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['analyst_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['instrument_uid'], ['instrument.uid'], ),
sa.ForeignKeyConstraint(['sample_type_uid'], ['sampletype.uid'], ),
sa.ForeignKeyConstraint(['submitted_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['template_uid'], ['worksheettemplate.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['verified_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_worksheet_uid'), 'worksheet', ['uid'], unique=False)
op.create_index(op.f('ix_worksheet_worksheet_id'), 'worksheet', ['worksheet_id'], unique=True)
op.create_table('worksheet_template_analysis',
sa.Column('ws_template_uid', sa.Integer(), nullable=False),
sa.Column('analysis_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
sa.ForeignKeyConstraint(['ws_template_uid'], ['worksheettemplate.uid'], ),
sa.PrimaryKeyConstraint('ws_template_uid', 'analysis_uid')
)
op.create_table('worksheet_template_profile',
sa.Column('ws_template_uid', sa.Integer(), nullable=False),
sa.Column('profile_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['profile_uid'], ['profile.uid'], ),
sa.ForeignKeyConstraint(['ws_template_uid'], ['worksheettemplate.uid'], ),
sa.PrimaryKeyConstraint('ws_template_uid', 'profile_uid')
)
op.create_table('worksheet_template_qc_level',
sa.Column('ws_template_uid', sa.Integer(), nullable=False),
sa.Column('qc_level_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['qc_level_uid'], ['qclevel.uid'], ),
sa.ForeignKeyConstraint(['ws_template_uid'], ['worksheettemplate.uid'], ),
sa.PrimaryKeyConstraint('ws_template_uid', 'qc_level_uid')
)
op.create_table('clientcontact',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('first_name', sa.String(), nullable=True),
sa.Column('last_name', sa.String(), nullable=True),
sa.Column('mobile_phone', sa.String(), nullable=True),
sa.Column('business_phone', sa.String(), nullable=True),
sa.Column('is_active', sa.Boolean(), nullable=True),
sa.Column('is_superuser', sa.Boolean(), nullable=True),
sa.Column('auth_uid', sa.Integer(), nullable=True),
sa.Column('email', sa.String(), nullable=True),
sa.Column('email_cc', sa.String(), nullable=True),
sa.Column('consent_sms', sa.Boolean(), nullable=True),
sa.Column('client_uid', sa.Integer(), nullable=False),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('creator_name', sa.String(), nullable=True),
sa.Column('creator_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updator_name', sa.String(), nullable=True),
sa.Column('updator_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['auth_uid'], ['userauth.uid'], ),
sa.ForeignKeyConstraint(['client_uid'], ['client.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_clientcontact_email'), 'clientcontact', ['email'], unique=False)
op.create_index(op.f('ix_clientcontact_first_name'), 'clientcontact', ['first_name'], unique=False)
op.create_index(op.f('ix_clientcontact_last_name'), 'clientcontact', ['last_name'], unique=False)
op.create_index(op.f('ix_clientcontact_uid'), 'clientcontact', ['uid'], unique=False)
op.create_table('member_tasks',
sa.Column('task_uid', sa.Integer(), nullable=False),
sa.Column('user_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['task_uid'], ['listingtask.uid'], ),
sa.ForeignKeyConstraint(['user_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('task_uid', 'user_uid')
)
op.create_table('patient',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('client_patient_id', sa.String(), nullable=False),
sa.Column('patient_id', sa.String(), nullable=True),
sa.Column('client_uid', sa.Integer(), nullable=True),
sa.Column('first_name', sa.String(), nullable=False),
sa.Column('middle_name', sa.String(), nullable=True),
sa.Column('last_name', sa.String(), nullable=False),
sa.Column('gender', sa.Integer(), nullable=False),
sa.Column('age', sa.Integer(), nullable=True),
sa.Column('date_of_birth', sa.DateTime(), nullable=True),
sa.Column('age_dob_estimated', sa.Boolean(), nullable=True),
sa.Column('phone_mobile', sa.String(), nullable=True),
sa.Column('phone_home', sa.String(), nullable=True),
sa.Column('consent_sms', sa.Boolean(), nullable=True),
sa.Column('email', sa.String(), nullable=True),
sa.Column('internal_use', sa.Boolean(), nullable=True),
sa.Column('active', sa.Boolean(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['client_uid'], ['client.uid'], ),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_patient_client_patient_id'), 'patient', ['client_patient_id'], unique=True)
op.create_index(op.f('ix_patient_patient_id'), 'patient', ['patient_id'], unique=True)
op.create_index(op.f('ix_patient_uid'), 'patient', ['uid'], unique=False)
op.create_table('tagged_tasks',
sa.Column('task_uid', sa.Integer(), nullable=False),
sa.Column('tag_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['tag_uid'], ['tasktag.uid'], ),
sa.ForeignKeyConstraint(['task_uid'], ['listingtask.uid'], ),
sa.PrimaryKeyConstraint('task_uid', 'tag_uid')
)
op.create_table('taskcomment',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('comment', sa.String(), nullable=True),
sa.Column('task_uid', sa.Integer(), nullable=False),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['task_uid'], ['listingtask.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid', 'task_uid')
)
op.create_index(op.f('ix_taskcomment_uid'), 'taskcomment', ['uid'], unique=False)
op.create_table('taskmilestone',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('title', sa.String(), nullable=True),
sa.Column('done', sa.Boolean(), nullable=True),
sa.Column('task_uid', sa.Integer(), nullable=False),
sa.Column('assignee_uid', sa.Integer(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['assignee_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['task_uid'], ['listingtask.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid', 'task_uid')
)
op.create_index(op.f('ix_taskmilestone_uid'), 'taskmilestone', ['uid'], unique=False)
op.create_table('worksheet_analysis',
sa.Column('worksheet_uid', sa.Integer(), nullable=False),
sa.Column('analysis_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
sa.ForeignKeyConstraint(['worksheet_uid'], ['worksheet.uid'], ),
sa.PrimaryKeyConstraint('worksheet_uid', 'analysis_uid')
)
op.create_table('worksheet_profile',
sa.Column('worksheet_uid', sa.Integer(), nullable=False),
sa.Column('profile_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['profile_uid'], ['profile.uid'], ),
sa.ForeignKeyConstraint(['worksheet_uid'], ['worksheet.uid'], ),
sa.PrimaryKeyConstraint('worksheet_uid', 'profile_uid')
)
op.create_table('analysisrequest',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('patient_uid', sa.Integer(), nullable=True),
sa.Column('client_uid', sa.Integer(), nullable=True),
sa.Column('request_id', sa.String(), nullable=True),
sa.Column('client_request_id', sa.String(), nullable=False),
sa.Column('internal_use', sa.Boolean(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['client_uid'], ['client.uid'], ),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['patient_uid'], ['patient.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid'),
sa.UniqueConstraint('client_request_id')
)
op.create_index(op.f('ix_analysisrequest_request_id'), 'analysisrequest', ['request_id'], unique=True)
op.create_index(op.f('ix_analysisrequest_uid'), 'analysisrequest', ['uid'], unique=False)
op.create_table('sample',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('analysis_request_uid', sa.Integer(), nullable=True),
sa.Column('sample_type_uid', sa.Integer(), nullable=False),
sa.Column('sample_id', sa.String(), nullable=True),
sa.Column('priority', sa.Integer(), nullable=False),
sa.Column('status', sa.String(), nullable=False),
sa.Column('assigned', sa.Boolean(), nullable=True),
sa.Column('received_by_uid', sa.Integer(), nullable=True),
sa.Column('date_received', sa.DateTime(), nullable=True),
sa.Column('submitted_by_uid', sa.Integer(), nullable=True),
sa.Column('date_submitted', sa.DateTime(), nullable=True),
sa.Column('verified_by_uid', sa.Integer(), nullable=True),
sa.Column('date_verified', sa.DateTime(), nullable=True),
sa.Column('published_by_uid', sa.Integer(), nullable=True),
sa.Column('date_published', sa.DateTime(), nullable=True),
sa.Column('invalidated_by_uid', sa.Integer(), nullable=True),
sa.Column('date_invalidated', sa.DateTime(), nullable=True),
sa.Column('cancelled_by_uid', sa.Integer(), nullable=True),
sa.Column('date_cancelled', sa.DateTime(), nullable=True),
sa.Column('internal_use', sa.Boolean(), nullable=True),
sa.Column('due_date', sa.DateTime(), nullable=True),
sa.Column('qc_set_uid', sa.Integer(), nullable=True),
sa.Column('qc_level_uid', sa.Integer(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.Column('tree_id', sa.Integer(), nullable=True),
sa.Column('parent_id', sa.Integer(), nullable=True),
sa.Column('lft', sa.Integer(), nullable=False),
sa.Column('rgt', sa.Integer(), nullable=False),
sa.Column('level', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['analysis_request_uid'], ['analysisrequest.uid'], ),
sa.ForeignKeyConstraint(['cancelled_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['invalidated_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['parent_id'], ['sample.uid'], ondelete='CASCADE'),
sa.ForeignKeyConstraint(['published_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['qc_level_uid'], ['qclevel.uid'], ),
sa.ForeignKeyConstraint(['qc_set_uid'], ['qcset.uid'], ),
sa.ForeignKeyConstraint(['received_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['sample_type_uid'], ['sampletype.uid'], ),
sa.ForeignKeyConstraint(['submitted_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['verified_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_sample_level'), 'sample', ['level'], unique=False)
op.create_index(op.f('ix_sample_lft'), 'sample', ['lft'], unique=False)
op.create_index(op.f('ix_sample_rgt'), 'sample', ['rgt'], unique=False)
op.create_index(op.f('ix_sample_sample_id'), 'sample', ['sample_id'], unique=True)
op.create_index(op.f('ix_sample_uid'), 'sample', ['uid'], unique=False)
op.create_table('analysisresult',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('sample_uid', sa.Integer(), nullable=False),
sa.Column('worksheet_uid', sa.Integer(), nullable=True),
sa.Column('worksheet_position', sa.Integer(), nullable=True),
sa.Column('assigned', sa.Boolean(), nullable=True),
sa.Column('analysis_uid', sa.Integer(), nullable=False),
sa.Column('instrument_uid', sa.Integer(), nullable=True),
sa.Column('method_uid', sa.Integer(), nullable=True),
sa.Column('result', sa.String(), nullable=True),
sa.Column('analyst_uid', sa.Integer(), nullable=True),
sa.Column('submitted_by_uid', sa.Integer(), nullable=True),
sa.Column('date_submitted', sa.DateTime(), nullable=True),
sa.Column('verified_by_uid', sa.Integer(), nullable=True),
sa.Column('date_verified', sa.DateTime(), nullable=True),
sa.Column('invalidated_by_uid', sa.Integer(), nullable=True),
sa.Column('date_invalidated', sa.DateTime(), nullable=True),
sa.Column('cancelled_by_uid', sa.Integer(), nullable=True),
sa.Column('date_cancelled', sa.DateTime(), nullable=True),
sa.Column('retest', sa.Boolean(), nullable=True),
sa.Column('reportable', sa.Boolean(), nullable=True),
sa.Column('status', sa.String(), nullable=False),
sa.Column('reflex_level', sa.Integer(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.Column('tree_id', sa.Integer(), nullable=True),
sa.Column('parent_id', sa.Integer(), nullable=True),
sa.Column('lft', sa.Integer(), nullable=False),
sa.Column('rgt', sa.Integer(), nullable=False),
sa.Column('level', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
sa.ForeignKeyConstraint(['analyst_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['cancelled_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['instrument_uid'], ['instrument.uid'], ),
sa.ForeignKeyConstraint(['invalidated_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['method_uid'], ['method.uid'], ),
sa.ForeignKeyConstraint(['parent_id'], ['analysisresult.uid'], ondelete='CASCADE'),
sa.ForeignKeyConstraint(['sample_uid'], ['sample.uid'], ),
sa.ForeignKeyConstraint(['submitted_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['verified_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['worksheet_uid'], ['worksheet.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_analysisresult_level'), 'analysisresult', ['level'], unique=False)
op.create_index(op.f('ix_analysisresult_lft'), 'analysisresult', ['lft'], unique=False)
op.create_index(op.f('ix_analysisresult_rgt'), 'analysisresult', ['rgt'], unique=False)
op.create_index(op.f('ix_analysisresult_uid'), 'analysisresult', ['uid'], unique=False)
op.create_table('sample_analysis',
sa.Column('sample_uid', sa.Integer(), nullable=False),
sa.Column('analysis_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
sa.ForeignKeyConstraint(['sample_uid'], ['sample.uid'], ),
sa.PrimaryKeyConstraint('sample_uid', 'analysis_uid')
)
op.create_table('sample_profile',
sa.Column('sample_uid', sa.Integer(), nullable=False),
sa.Column('profile_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['profile_uid'], ['profile.uid'], ),
sa.ForeignKeyConstraint(['sample_uid'], ['sample.uid'], ),
sa.PrimaryKeyConstraint('sample_uid', 'profile_uid')
)
op.create_table('sample_rejection_reason',
sa.Column('sample_uid', sa.Integer(), nullable=False),
sa.Column('rejection_reason_uid', sa.Integer(), nullable=False),
sa.ForeignKeyConstraint(['rejection_reason_uid'], ['rejectionreason.uid'], ),
sa.ForeignKeyConstraint(['sample_uid'], ['sample.uid'], ),
sa.PrimaryKeyConstraint('sample_uid', 'rejection_reason_uid')
)
op.create_table('storageslot',
sa.Column('uid', sa.Integer(), autoincrement=True, nullable=False),
sa.Column('storage_container_uid', sa.Integer(), nullable=False),
sa.Column('position', sa.String(), nullable=False),
sa.Column('sample_uid', sa.Integer(), nullable=True),
sa.Column('created_at', sa.DateTime(), nullable=True),
sa.Column('created_by_uid', sa.Integer(), nullable=True),
sa.Column('updated_at', sa.DateTime(), nullable=True),
sa.Column('updated_by_uid', sa.Integer(), nullable=True),
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
sa.ForeignKeyConstraint(['sample_uid'], ['sample.uid'], ),
sa.ForeignKeyConstraint(['storage_container_uid'], ['storagecontainer.uid'], ),
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
sa.PrimaryKeyConstraint('uid')
)
op.create_index(op.f('ix_storageslot_uid'), 'storageslot', ['uid'], unique=False)
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_index(op.f('ix_storageslot_uid'), table_name='storageslot')
op.drop_table('storageslot')
op.drop_table('sample_rejection_reason')
op.drop_table('sample_profile')
op.drop_table('sample_analysis')
op.drop_index(op.f('ix_analysisresult_uid'), table_name='analysisresult')
op.drop_index(op.f('ix_analysisresult_rgt'), table_name='analysisresult')
op.drop_index(op.f('ix_analysisresult_lft'), table_name='analysisresult')
op.drop_index(op.f('ix_analysisresult_level'), table_name='analysisresult')
op.drop_table('analysisresult')
op.drop_index(op.f('ix_sample_uid'), table_name='sample')
op.drop_index(op.f('ix_sample_sample_id'), table_name='sample')
op.drop_index(op.f('ix_sample_rgt'), table_name='sample')
op.drop_index(op.f('ix_sample_lft'), table_name='sample')
op.drop_index(op.f('ix_sample_level'), table_name='sample')
op.drop_table('sample')
op.drop_index(op.f('ix_analysisrequest_uid'), table_name='analysisrequest')
op.drop_index(op.f('ix_analysisrequest_request_id'), table_name='analysisrequest')
op.drop_table('analysisrequest')
op.drop_table('worksheet_profile')
op.drop_table('worksheet_analysis')
op.drop_index(op.f('ix_taskmilestone_uid'), table_name='taskmilestone')
op.drop_table('taskmilestone')
op.drop_index(op.f('ix_taskcomment_uid'), table_name='taskcomment')
op.drop_table('taskcomment')
op.drop_table('tagged_tasks')
op.drop_index(op.f('ix_patient_uid'), table_name='patient')
op.drop_index(op.f('ix_patient_patient_id'), table_name='patient')
op.drop_index(op.f('ix_patient_client_patient_id'), table_name='patient')
op.drop_table('patient')
op.drop_table('member_tasks')
op.drop_index(op.f('ix_clientcontact_uid'), table_name='clientcontact')
op.drop_index(op.f('ix_clientcontact_last_name'), table_name='clientcontact')
op.drop_index(op.f('ix_clientcontact_first_name'), table_name='clientcontact')
op.drop_index(op.f('ix_clientcontact_email'), table_name='clientcontact')
op.drop_table('clientcontact')
op.drop_table('worksheet_template_qc_level')
op.drop_table('worksheet_template_profile')
op.drop_table('worksheet_template_analysis')
op.drop_index(op.f('ix_worksheet_worksheet_id'), table_name='worksheet')
op.drop_index(op.f('ix_worksheet_uid'), table_name='worksheet')
op.drop_table('worksheet')
op.drop_index(op.f('ix_storagecontainer_uid'), table_name='storagecontainer')
op.drop_table('storagecontainer')
op.drop_index(op.f('ix_resultoption_uid'), table_name='resultoption')
op.drop_table('resultoption')
op.drop_index(op.f('ix_reflexbrainfinal_uid'), table_name='reflexbrainfinal')
op.drop_table('reflexbrainfinal')
op.drop_index(op.f('ix_reflexbraincriteria_uid'), table_name='reflexbraincriteria')
op.drop_table('reflexbraincriteria')
op.drop_index(op.f('ix_reflexbrainaddition_uid'), table_name='reflexbrainaddition')
op.drop_table('reflexbrainaddition')
op.drop_table('reflex_action_analysis')
op.drop_table('qc_reference_analysis')
op.drop_index(op.f('ix_listingtask_uid'), table_name='listingtask')
op.drop_table('listingtask')
op.drop_index(op.f('ix_client_uid'), table_name='client')
op.drop_index(op.f('ix_client_code'), table_name='client')
op.drop_table('client')
op.drop_index(op.f('ix_analysisuncertainty_uid'), table_name='analysisuncertainty')
op.drop_table('analysisuncertainty')
op.drop_index(op.f('ix_analysisspecification_uid'), table_name='analysisspecification')
op.drop_table('analysisspecification')
op.drop_index(op.f('ix_analysisinterim_uid'), table_name='analysisinterim')
op.drop_table('analysisinterim')
op.drop_index(op.f('ix_analysisdetectionlimit_uid'), table_name='analysisdetectionlimit')
op.drop_table('analysisdetectionlimit')
op.drop_index(op.f('ix_analysiscorrectionfactor_uid'), table_name='analysiscorrectionfactor')
op.drop_table('analysiscorrectionfactor')
op.drop_table('analysis_sample_type')
op.drop_table('analysis_reports')
op.drop_table('analysis_profile')
op.drop_table('analysis_method')
op.drop_table('analysis_instrument')
op.drop_index(op.f('ix_worksheettemplate_uid'), table_name='worksheettemplate')
op.drop_table('worksheettemplate')
op.drop_index(op.f('ix_storagesection_uid'), table_name='storagesection')
op.drop_table('storagesection')
op.drop_index(op.f('ix_stocktransaction_uid'), table_name='stocktransaction')
op.drop_table('stocktransaction')
op.drop_index(op.f('ix_stockorderproduct_uid'), table_name='stockorderproduct')
op.drop_table('stockorderproduct')
op.drop_index(op.f('ix_stockadjustment_uid'), table_name='stockadjustment')
op.drop_table('stockadjustment')
op.drop_index(op.f('ix_reflexbrain_uid'), table_name='reflexbrain')
op.drop_table('reflexbrain')
op.drop_table('method_instrument')
op.drop_table('message_view')
op.drop_table('message_delete')
op.drop_index(op.f('ix_instrumentcalibration_uid'), table_name='instrumentcalibration')
op.drop_index(op.f('ix_instrumentcalibration_report_id'), table_name='instrumentcalibration')
op.drop_index(op.f('ix_instrumentcalibration_calibration_id'), table_name='instrumentcalibration')
op.drop_table('instrumentcalibration')
op.drop_table('document_tags')
op.drop_table('document_readers')
op.drop_table('document_authors')
op.drop_index(op.f('ix_district_uid'), table_name='district')
op.drop_index(op.f('ix_district_code'), table_name='district')
op.drop_table('district')
op.drop_index(op.f('ix_calibrationcertificate_uid'), table_name='calibrationcertificate')
op.drop_index(op.f('ix_calibrationcertificate_certificate_code'), table_name='calibrationcertificate')
op.drop_table('calibrationcertificate')
op.drop_index(op.f('ix_boardlisting_uid'), table_name='boardlisting')
op.drop_table('boardlisting')
op.drop_index(op.f('ix_analysis_uid'), table_name='analysis')
op.drop_table('analysis')
op.drop_table('user_notification')
op.drop_index(op.f('ix_storagelocation_uid'), table_name='storagelocation')
op.drop_table('storagelocation')
op.drop_index(op.f('ix_stockproduct_uid'), table_name='stockproduct')
op.drop_table('stockproduct')
op.drop_index(op.f('ix_stockorder_uid'), table_name='stockorder')
op.drop_table('stockorder')
op.drop_index(op.f('ix_stockitem_uid'), table_name='stockitem')
op.drop_table('stockitem')
op.drop_index(op.f('ix_reflexaction_uid'), table_name='reflexaction')
op.drop_table('reflexaction')
op.drop_index(op.f('ix_qcreference_uid'), table_name='qcreference')
op.drop_table('qcreference')
op.drop_table('qc_template_qc_level')
op.drop_table('qc_template_department')
op.drop_index(op.f('ix_province_uid'), table_name='province')
op.drop_index(op.f('ix_province_code'), table_name='province')
op.drop_table('province')
op.drop_index(op.f('ix_profile_uid'), table_name='profile')
op.drop_table('profile')
op.drop_table('notification_view')
op.drop_table('notice_view')
op.drop_table('message_thread_recipient')
op.drop_table('message_thread_delete')
op.drop_index(op.f('ix_message_uid'), table_name='message')
op.drop_index(op.f('ix_message_rgt'), table_name='message')
op.drop_index(op.f('ix_message_lft'), table_name='message')
op.drop_index(op.f('ix_message_level'), table_name='message')
op.drop_table('message')
op.drop_index(op.f('ix_laboratorysetting_uid'), table_name='laboratorysetting')
op.drop_table('laboratorysetting')
op.drop_index(op.f('ix_instrument_uid'), table_name='instrument')
op.drop_table('instrument')
op.drop_table('group_notification')
op.drop_table('group_notice')
op.drop_index(op.f('ix_document_uid'), table_name='document')
op.drop_table('document')
op.drop_table('department_preference')
op.drop_table('department_notification')
op.drop_table('department_notice')
op.drop_index(op.f('ix_board_uid'), table_name='board')
op.drop_table('board')
op.drop_index(op.f('ix_analysiscategory_uid'), table_name='analysiscategory')
op.drop_table('analysiscategory')
op.drop_table('activity_stream_view')
op.drop_table('activity_stream_feed')
op.drop_table('activity_feed_subscription')
op.drop_index(op.f('ix_userpreference_uid'), table_name='userpreference')
op.drop_table('userpreference')
op.drop_table('user_groups')
op.drop_index(op.f('ix_unit_uid'), table_name='unit')
op.drop_table('unit')
op.drop_index(op.f('ix_tasktag_uid'), table_name='tasktag')
op.drop_table('tasktag')
op.drop_index(op.f('ix_supplier_uid'), table_name='supplier')
op.drop_table('supplier')
op.drop_index(op.f('ix_storeroom_uid'), table_name='storeroom')
op.drop_table('storeroom')
op.drop_index(op.f('ix_stockunit_uid'), table_name='stockunit')
op.drop_table('stockunit')
op.drop_index(op.f('ix_stockpackaging_uid'), table_name='stockpackaging')
op.drop_table('stockpackaging')
op.drop_index(op.f('ix_stockcategory_uid'), table_name='stockcategory')
op.drop_table('stockcategory')
op.drop_index(op.f('ix_sampletype_uid'), table_name='sampletype')
op.drop_table('sampletype')
op.drop_index(op.f('ix_reportmeta_uid'), table_name='reportmeta')
op.drop_table('reportmeta')
op.drop_index(op.f('ix_rejectionreason_uid'), table_name='rejectionreason')
op.drop_table('rejectionreason')
op.drop_index(op.f('ix_reflexrule_uid'), table_name='reflexrule')
op.drop_index(op.f('ix_reflexrule_name'), table_name='reflexrule')
op.drop_table('reflexrule')
op.drop_index(op.f('ix_qctemplate_uid'), table_name='qctemplate')
op.drop_table('qctemplate')
op.drop_index(op.f('ix_qcset_uid'), table_name='qcset')
op.drop_table('qcset')
op.drop_index(op.f('ix_qclevel_uid'), table_name='qclevel')
op.drop_table('qclevel')
op.drop_index(op.f('ix_notification_uid'), table_name='notification')
op.drop_table('notification')
op.drop_index(op.f('ix_notice_uid'), table_name='notice')
op.drop_table('notice')
op.drop_index(op.f('ix_method_uid'), table_name='method')
op.drop_table('method')
op.drop_index(op.f('ix_messagethread_uid'), table_name='messagethread')
op.drop_table('messagethread')
op.drop_index(op.f('ix_manufacturer_uid'), table_name='manufacturer')
op.drop_table('manufacturer')
op.drop_index(op.f('ix_laboratory_uid'), table_name='laboratory')
op.drop_table('laboratory')
op.drop_index(op.f('ix_instrumenttype_uid'), table_name='instrumenttype')
op.drop_table('instrumenttype')
op.drop_index(op.f('ix_hazard_uid'), table_name='hazard')
op.drop_table('hazard')
op.drop_index(op.f('ix_department_uid'), table_name='department')
op.drop_table('department')
op.drop_index(op.f('ix_country_uid'), table_name='country')
op.drop_index(op.f('ix_country_code'), table_name='country')
op.drop_table('country')
op.drop_index(op.f('ix_activitystream_uid'), table_name='activitystream')
op.drop_table('activitystream')
op.drop_index(op.f('ix_activityfeed_uid'), table_name='activityfeed')
op.drop_table('activityfeed')
op.drop_index(op.f('ix_user_uid'), table_name='user')
op.drop_index(op.f('ix_user_last_name'), table_name='user')
op.drop_index(op.f('ix_user_first_name'), table_name='user')
op.drop_index(op.f('ix_user_email'), table_name='user')
op.drop_table('user')
op.drop_table('permission_groups')
op.drop_index(op.f('ix_userauth_user_name'), table_name='userauth')
op.drop_index(op.f('ix_userauth_uid'), table_name='userauth')
op.drop_table('userauth')
op.drop_index(op.f('ix_permission_uid'), table_name='permission')
op.drop_table('permission')
op.drop_index(op.f('ix_job_uid'), table_name='job')
op.drop_table('job')
op.drop_index(op.f('ix_idsequence_uid'), table_name='idsequence')
op.drop_table('idsequence')
op.drop_index(op.f('ix_group_uid'), table_name='group')
op.drop_index(op.f('ix_group_name'), table_name='group')
op.drop_index(op.f('ix_group_keyword'), table_name='group')
op.drop_table('group')
op.drop_index(op.f('ix_documenttag_uid'), table_name='documenttag')
op.drop_table('documenttag')
op.drop_index(op.f('ix_documentcategory_uid'), table_name='documentcategory')
op.drop_table('documentcategory')
op.drop_index(op.f('ix_auditlog_uid'), table_name='auditlog')
op.drop_table('auditlog')
# ### end Alembic commands ###