mirror of
https://github.com/beak-insights/felicity-lims.git
synced 2025-02-23 00:12:54 +08:00
2349 lines
129 KiB
Python
2349 lines
129 KiB
Python
"""init-db
|
|
|
|
Revision ID: 3e36503be66f
|
|
Revises:
|
|
Create Date: 2024-05-31 23:36:29.612543
|
|
|
|
"""
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
from sqlalchemy.dialects import postgresql
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision = '3e36503be66f'
|
|
down_revision = None
|
|
branch_labels = None
|
|
depends_on = None
|
|
|
|
|
|
def upgrade():
|
|
# ### commands auto generated by Alembic - please adjust! ###
|
|
op.create_table('audit_log',
|
|
sa.Column('user_id', sa.String(), nullable=True),
|
|
sa.Column('target_type', sa.String(length=100), nullable=False),
|
|
sa.Column('target_id', sa.String(), 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.Column('uid', sa.String(), nullable=False),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_audit_log_uid'), 'audit_log', ['uid'], unique=False)
|
|
op.create_table('group',
|
|
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.Column('uid', sa.String(), nullable=False),
|
|
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('id_sequence',
|
|
sa.Column('prefix', sa.String(), nullable=False),
|
|
sa.Column('number', sa.Integer(), nullable=False),
|
|
sa.Column('updated', sa.DateTime(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.PrimaryKeyConstraint('uid'),
|
|
sa.UniqueConstraint('prefix')
|
|
)
|
|
op.create_index(op.f('ix_id_sequence_uid'), 'id_sequence', ['uid'], unique=False)
|
|
op.create_table('job',
|
|
sa.Column('action', sa.String(), nullable=True),
|
|
sa.Column('category', sa.String(), nullable=True),
|
|
sa.Column('priority', sa.Integer(), nullable=True),
|
|
sa.Column('data', postgresql.JSONB(astext_type=sa.Text()), nullable=True),
|
|
sa.Column('job_id', sa.String(), nullable=True),
|
|
sa.Column('creator_uid', sa.String(), nullable=True),
|
|
sa.Column('status', sa.String(), nullable=True),
|
|
sa.Column('reason', sa.String(), nullable=True),
|
|
sa.Column('next_try', sa.DateTime(), nullable=True),
|
|
sa.Column('retries', sa.Integer(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_job_uid'), 'job', ['uid'], unique=False)
|
|
op.create_table('permission',
|
|
sa.Column('action', sa.String(), nullable=False),
|
|
sa.Column('target', sa.String(), nullable=False),
|
|
sa.Column('active', sa.Boolean(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_permission_uid'), 'permission', ['uid'], unique=False)
|
|
op.create_table('user_auth',
|
|
sa.Column('user_type', sa.String(), nullable=True),
|
|
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('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('creator_name', sa.String(), nullable=True),
|
|
sa.Column('creator_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updator_name', sa.String(), nullable=True),
|
|
sa.Column('updator_uid', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_user_auth_uid'), 'user_auth', ['uid'], unique=False)
|
|
op.create_index(op.f('ix_user_auth_user_name'), 'user_auth', ['user_name'], unique=True)
|
|
op.create_table('user_preference',
|
|
sa.Column('expanded_menu', sa.Boolean(), nullable=True),
|
|
sa.Column('theme', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_user_preference_uid'), 'user_preference', ['uid'], unique=False)
|
|
op.create_table('permission_groups',
|
|
sa.Column('permission_uid', sa.String(), nullable=False),
|
|
sa.Column('group_uid', sa.String(), 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('auth_uid', sa.String(), nullable=True),
|
|
sa.Column('preference_uid', sa.String(), 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('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('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('creator_name', sa.String(), nullable=True),
|
|
sa.Column('creator_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updator_name', sa.String(), nullable=True),
|
|
sa.Column('updator_uid', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['auth_uid'], ['user_auth.uid'], ),
|
|
sa.ForeignKeyConstraint(['preference_uid'], ['user_preference.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('activity_feed',
|
|
sa.Column('name', sa.String(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_activity_feed_uid'), 'activity_feed', ['uid'], unique=False)
|
|
op.create_table('activity_stream',
|
|
sa.Column('actor_uid', sa.String(), nullable=True),
|
|
sa.Column('verb', sa.String(), nullable=True),
|
|
sa.Column('action_object_type', sa.String(), nullable=True),
|
|
sa.Column('action_object_uid', sa.String(), nullable=True),
|
|
sa.Column('action_object', sa.String(), nullable=True),
|
|
sa.Column('target_uid', sa.String(), nullable=True),
|
|
sa.Column('target', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['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_activity_stream_uid'), 'activity_stream', ['uid'], unique=False)
|
|
op.create_table('coding_standard',
|
|
sa.Column('name', sa.String(), nullable=False),
|
|
sa.Column('description', sa.String(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_coding_standard_uid'), 'coding_standard', ['uid'], unique=False)
|
|
op.create_table('country',
|
|
sa.Column('name', sa.String(), nullable=True),
|
|
sa.Column('code', sa.String(), nullable=True),
|
|
sa.Column('active', sa.Boolean(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['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('name', sa.String(), nullable=False),
|
|
sa.Column('description', sa.String(), nullable=True),
|
|
sa.Column('code', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['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('name', sa.String(), nullable=False),
|
|
sa.Column('description', sa.String(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_hazard_uid'), 'hazard', ['uid'], unique=False)
|
|
op.create_table('identification',
|
|
sa.Column('name', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_identification_name'), 'identification', ['name'], unique=True)
|
|
op.create_index(op.f('ix_identification_uid'), 'identification', ['uid'], unique=False)
|
|
op.create_table('instrument_type',
|
|
sa.Column('name', sa.String(), nullable=False),
|
|
sa.Column('description', sa.String(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_instrument_type_uid'), 'instrument_type', ['uid'], unique=False)
|
|
op.create_table('laboratory',
|
|
sa.Column('setup_name', sa.String(), nullable=False),
|
|
sa.Column('lab_name', sa.String(), nullable=False),
|
|
sa.Column('tag_line', sa.String(), nullable=True),
|
|
sa.Column('code', sa.String(), nullable=True),
|
|
sa.Column('lab_manager_uid', 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('address', sa.String(), nullable=True),
|
|
sa.Column('banking', sa.String(), nullable=True),
|
|
sa.Column('logo', sa.String(), nullable=True),
|
|
sa.Column('quality_statement', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['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('name', sa.String(), nullable=False),
|
|
sa.Column('description', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_manufacturer_uid'), 'manufacturer', ['uid'], unique=False)
|
|
op.create_table('message_thread',
|
|
sa.Column('broadcast', sa.Boolean(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_message_thread_uid'), 'message_thread', ['uid'], unique=False)
|
|
op.create_table('method',
|
|
sa.Column('name', sa.String(), nullable=False),
|
|
sa.Column('description', sa.String(), nullable=True),
|
|
sa.Column('keyword', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['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('title', sa.String(), nullable=False),
|
|
sa.Column('body', sa.String(), nullable=False),
|
|
sa.Column('expiry', sa.DateTime(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['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('message', sa.String(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_notification_uid'), 'notification', ['uid'], unique=False)
|
|
op.create_table('qc_level',
|
|
sa.Column('level', sa.String(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_qc_level_uid'), 'qc_level', ['uid'], unique=False)
|
|
op.create_table('qc_set',
|
|
sa.Column('name', sa.String(), nullable=False),
|
|
sa.Column('note', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_qc_set_uid'), 'qc_set', ['uid'], unique=False)
|
|
op.create_table('qc_template',
|
|
sa.Column('name', sa.String(), nullable=False),
|
|
sa.Column('description', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_qc_template_uid'), 'qc_template', ['uid'], unique=False)
|
|
op.create_table('referral_laboratory',
|
|
sa.Column('name', sa.String(), nullable=True),
|
|
sa.Column('code', sa.String(), nullable=False),
|
|
sa.Column('url', sa.String(), nullable=False),
|
|
sa.Column('username', sa.String(), nullable=False),
|
|
sa.Column('password', sa.String(), nullable=False),
|
|
sa.Column('is_reference', sa.Boolean(), nullable=True),
|
|
sa.Column('is_referral', sa.Boolean(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_referral_laboratory_code'), 'referral_laboratory', ['code'], unique=True)
|
|
op.create_index(op.f('ix_referral_laboratory_uid'), 'referral_laboratory', ['uid'], unique=False)
|
|
op.create_table('reflex_rule',
|
|
sa.Column('name', sa.String(), nullable=False),
|
|
sa.Column('description', sa.String(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_reflex_rule_name'), 'reflex_rule', ['name'], unique=True)
|
|
op.create_index(op.f('ix_reflex_rule_uid'), 'reflex_rule', ['uid'], unique=False)
|
|
op.create_table('rejection_reason',
|
|
sa.Column('reason', sa.String(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_rejection_reason_uid'), 'rejection_reason', ['uid'], unique=False)
|
|
op.create_table('report_meta',
|
|
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('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_report_meta_uid'), 'report_meta', ['uid'], unique=False)
|
|
op.create_table('sample_type',
|
|
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('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_sample_type_uid'), 'sample_type', ['uid'], unique=False)
|
|
op.create_table('stock_category',
|
|
sa.Column('name', sa.String(), nullable=False),
|
|
sa.Column('description', sa.String(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_stock_category_uid'), 'stock_category', ['uid'], unique=False)
|
|
op.create_table('stock_unit',
|
|
sa.Column('name', sa.String(), nullable=False),
|
|
sa.Column('description', sa.String(), nullable=True),
|
|
sa.Column('synonyms', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_stock_unit_uid'), 'stock_unit', ['uid'], unique=False)
|
|
op.create_table('store_room',
|
|
sa.Column('name', sa.String(), nullable=False),
|
|
sa.Column('description', sa.String(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_store_room_uid'), 'store_room', ['uid'], unique=False)
|
|
op.create_table('supplier',
|
|
sa.Column('name', sa.String(), nullable=False),
|
|
sa.Column('description', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_supplier_uid'), 'supplier', ['uid'], unique=False)
|
|
op.create_table('unit',
|
|
sa.Column('name', sa.String(), nullable=False),
|
|
sa.Column('is_si_unit', sa.Boolean(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['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.String(), nullable=False),
|
|
sa.Column('group_uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['group_uid'], ['group.uid'], ),
|
|
sa.ForeignKeyConstraint(['user_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('user_uid', 'group_uid')
|
|
)
|
|
op.create_table('voucher',
|
|
sa.Column('name', sa.String(), nullable=False),
|
|
sa.Column('usage_limit', sa.Integer(), nullable=False),
|
|
sa.Column('used', sa.Integer(), nullable=False),
|
|
sa.Column('start_date', sa.DateTime(), nullable=False),
|
|
sa.Column('end_date', sa.DateTime(), nullable=False),
|
|
sa.Column('once_per_customer', sa.Boolean(), nullable=False),
|
|
sa.Column('once_per_order', sa.Boolean(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid'),
|
|
sa.UniqueConstraint('name')
|
|
)
|
|
op.create_index(op.f('ix_voucher_uid'), 'voucher', ['uid'], unique=False)
|
|
op.create_table('activity_feed_subscription',
|
|
sa.Column('activity_feed_uid', sa.String(), nullable=False),
|
|
sa.Column('user_uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['activity_feed_uid'], ['activity_feed.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.String(), nullable=False),
|
|
sa.Column('stream_uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['activity_feed_uid'], ['activity_feed.uid'], ),
|
|
sa.ForeignKeyConstraint(['stream_uid'], ['activity_stream.uid'], ),
|
|
sa.PrimaryKeyConstraint('activity_feed_uid', 'stream_uid')
|
|
)
|
|
op.create_table('activity_stream_view',
|
|
sa.Column('activity_stream_uid', sa.String(), nullable=False),
|
|
sa.Column('user_uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['activity_stream_uid'], ['activity_stream.uid'], ),
|
|
sa.ForeignKeyConstraint(['user_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('activity_stream_uid', 'user_uid')
|
|
)
|
|
op.create_table('analysis_category',
|
|
sa.Column('name', sa.String(), nullable=False),
|
|
sa.Column('description', sa.String(), nullable=False),
|
|
sa.Column('department_uid', sa.String(), nullable=True),
|
|
sa.Column('active', sa.Boolean(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['department_uid'], ['department.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_analysis_category_uid'), 'analysis_category', ['uid'], unique=False)
|
|
op.create_table('department_notice',
|
|
sa.Column('notice_uid', sa.String(), nullable=False),
|
|
sa.Column('department_uid', sa.String(), 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.String(), nullable=False),
|
|
sa.Column('department_uid', sa.String(), 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.String(), nullable=False),
|
|
sa.Column('preference_uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['department_uid'], ['department.uid'], ),
|
|
sa.ForeignKeyConstraint(['preference_uid'], ['user_preference.uid'], ),
|
|
sa.PrimaryKeyConstraint('department_uid', 'preference_uid')
|
|
)
|
|
op.create_table('group_notice',
|
|
sa.Column('notice_uid', sa.String(), nullable=False),
|
|
sa.Column('group_uid', sa.String(), 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.String(), nullable=False),
|
|
sa.Column('group_uid', sa.String(), 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('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.String(), nullable=True),
|
|
sa.Column('supplier_uid', sa.String(), nullable=True),
|
|
sa.Column('manufacturer_uid', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['instrument_type_uid'], ['instrument_type.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('laboratory_setting',
|
|
sa.Column('laboratory_uid', sa.String(), 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('default_tat_minutes', sa.Integer(), nullable=True),
|
|
sa.Column('allow_billing', sa.Boolean(), nullable=True),
|
|
sa.Column('allow_auto_billing', sa.Boolean(), nullable=True),
|
|
sa.Column('currency', sa.String(), nullable=True),
|
|
sa.Column('payment_terms_days', sa.Integer(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['laboratory_uid'], ['laboratory.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_laboratory_setting_uid'), 'laboratory_setting', ['uid'], unique=False)
|
|
op.create_table('message',
|
|
sa.Column('thread_uid', sa.String(), nullable=True),
|
|
sa.Column('body', sa.String(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.Column('tree_id', sa.Integer(), nullable=True),
|
|
sa.Column('parent_id', sa.String(), 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'], ['message_thread.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.String(), nullable=False),
|
|
sa.Column('user_uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['message_thread_uid'], ['message_thread.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.String(), nullable=False),
|
|
sa.Column('user_uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['message_thread_uid'], ['message_thread.uid'], ),
|
|
sa.ForeignKeyConstraint(['user_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('message_thread_uid', 'user_uid')
|
|
)
|
|
op.create_table('notice_view',
|
|
sa.Column('notice_uid', sa.String(), nullable=False),
|
|
sa.Column('user_uid', sa.String(), 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.String(), nullable=False),
|
|
sa.Column('user_uid', sa.String(), 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('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.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['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('country_uid', sa.String(), nullable=True),
|
|
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('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['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_reference',
|
|
sa.Column('name', sa.String(), nullable=False),
|
|
sa.Column('description', sa.String(), nullable=False),
|
|
sa.Column('department_uid', sa.String(), 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('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['department_uid'], ['department.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_qc_reference_uid'), 'qc_reference', ['uid'], unique=False)
|
|
op.create_table('qc_template_department',
|
|
sa.Column('department_uid', sa.String(), nullable=False),
|
|
sa.Column('qc_template_uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['department_uid'], ['department.uid'], ),
|
|
sa.ForeignKeyConstraint(['qc_template_uid'], ['qc_template.uid'], ),
|
|
sa.PrimaryKeyConstraint('department_uid', 'qc_template_uid')
|
|
)
|
|
op.create_table('qc_template_qc_level',
|
|
sa.Column('qc_level_uid', sa.String(), nullable=False),
|
|
sa.Column('qc_template_uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['qc_level_uid'], ['qc_level.uid'], ),
|
|
sa.ForeignKeyConstraint(['qc_template_uid'], ['qc_template.uid'], ),
|
|
sa.PrimaryKeyConstraint('qc_level_uid', 'qc_template_uid')
|
|
)
|
|
op.create_table('reflex_action',
|
|
sa.Column('level', sa.Integer(), nullable=False),
|
|
sa.Column('description', sa.String(), nullable=False),
|
|
sa.Column('sample_type_uid', sa.String(), nullable=True),
|
|
sa.Column('reflex_rule_uid', sa.String(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['reflex_rule_uid'], ['reflex_rule.uid'], ),
|
|
sa.ForeignKeyConstraint(['sample_type_uid'], ['sample_type.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_reflex_action_uid'), 'reflex_action', ['uid'], unique=False)
|
|
op.create_table('sampe_type_coding',
|
|
sa.Column('sample_type_uid', sa.String(), nullable=False),
|
|
sa.Column('coding_standard_uid', sa.String(), nullable=True),
|
|
sa.Column('name', sa.String(), nullable=True),
|
|
sa.Column('description', sa.String(), nullable=True),
|
|
sa.Column('code', sa.String(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['coding_standard_uid'], ['coding_standard.uid'], ),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['sample_type_uid'], ['sample_type.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_sampe_type_coding_uid'), 'sampe_type_coding', ['uid'], unique=False)
|
|
op.create_table('shipment',
|
|
sa.Column('shipment_id', sa.String(), nullable=False),
|
|
sa.Column('comment', sa.String(), nullable=True),
|
|
sa.Column('courier', sa.String(), nullable=False),
|
|
sa.Column('assigned_count', sa.Integer(), nullable=False),
|
|
sa.Column('data', postgresql.JSONB(astext_type=sa.Text()), nullable=True),
|
|
sa.Column('state', sa.String(), nullable=True),
|
|
sa.Column('laboratory_uid', sa.String(), nullable=True),
|
|
sa.Column('incoming', sa.Boolean(), nullable=True),
|
|
sa.Column('finalised_by_uid', sa.String(), nullable=True),
|
|
sa.Column('date_finalised', sa.DateTime(), nullable=True),
|
|
sa.Column('dispatched_by_uid', sa.String(), nullable=True),
|
|
sa.Column('date_dispatched', sa.DateTime(), nullable=True),
|
|
sa.Column('recalled_by_uid', sa.String(), nullable=True),
|
|
sa.Column('date_recalled', sa.DateTime(), nullable=True),
|
|
sa.Column('rejected_by_uid', sa.String(), nullable=True),
|
|
sa.Column('date_rejected', sa.DateTime(), nullable=True),
|
|
sa.Column('received_by_uid', sa.String(), nullable=True),
|
|
sa.Column('date_received', sa.DateTime(), nullable=True),
|
|
sa.Column('json_content', postgresql.JSONB(astext_type=sa.Text()), nullable=True),
|
|
sa.Column('pdf_content', sa.LargeBinary(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['dispatched_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['finalised_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['laboratory_uid'], ['referral_laboratory.uid'], ),
|
|
sa.ForeignKeyConstraint(['recalled_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['received_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['rejected_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_shipment_shipment_id'), 'shipment', ['shipment_id'], unique=True)
|
|
op.create_index(op.f('ix_shipment_uid'), 'shipment', ['uid'], unique=False)
|
|
op.create_table('stock_item',
|
|
sa.Column('name', sa.String(), nullable=False),
|
|
sa.Column('description', sa.String(), nullable=False),
|
|
sa.Column('category_uid', sa.String(), nullable=True),
|
|
sa.Column('hazard_uid', sa.String(), nullable=True),
|
|
sa.Column('minimum_level', sa.Integer(), nullable=True),
|
|
sa.Column('maximum_level', sa.Integer(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['category_uid'], ['stock_category.uid'], ),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['hazard_uid'], ['hazard.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_stock_item_uid'), 'stock_item', ['uid'], unique=False)
|
|
op.create_table('stock_order',
|
|
sa.Column('order_by_uid', sa.String(), nullable=True),
|
|
sa.Column('department_uid', sa.String(), nullable=True),
|
|
sa.Column('status', sa.String(), nullable=False),
|
|
sa.Column('order_number', sa.String(), nullable=False),
|
|
sa.Column('remarks', sa.String(), nullable=True),
|
|
sa.Column('fulfilled_by_uid', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['department_uid'], ['department.uid'], ),
|
|
sa.ForeignKeyConstraint(['fulfilled_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['order_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_stock_order_uid'), 'stock_order', ['uid'], unique=False)
|
|
op.create_table('storage_location',
|
|
sa.Column('name', sa.String(), nullable=False),
|
|
sa.Column('description', sa.String(), nullable=False),
|
|
sa.Column('store_room_uid', sa.String(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['store_room_uid'], ['store_room.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_storage_location_uid'), 'storage_location', ['uid'], unique=False)
|
|
op.create_table('user_notification',
|
|
sa.Column('notification_uid', sa.String(), nullable=False),
|
|
sa.Column('user_uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['notification_uid'], ['notification.uid'], ),
|
|
sa.ForeignKeyConstraint(['user_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('notification_uid', 'user_uid')
|
|
)
|
|
op.create_table('voucher_code',
|
|
sa.Column('code', sa.String(length=20), nullable=False),
|
|
sa.Column('voucher_uid', sa.String(), nullable=False),
|
|
sa.Column('usage_limit', sa.Integer(), nullable=False),
|
|
sa.Column('used', sa.Integer(), nullable=False),
|
|
sa.Column('is_active', sa.Boolean(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['voucher_uid'], ['voucher.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid'),
|
|
sa.UniqueConstraint('code')
|
|
)
|
|
op.create_index(op.f('ix_voucher_code_uid'), 'voucher_code', ['uid'], unique=False)
|
|
op.create_table('analysis',
|
|
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.String(), nullable=True),
|
|
sa.Column('category_uid', sa.String(), 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.String(), nullable=True),
|
|
sa.Column('precision', sa.Integer(), nullable=True),
|
|
sa.Column('required_verifications', sa.Integer(), nullable=True),
|
|
sa.Column('self_verification', sa.Boolean(), nullable=True),
|
|
sa.Column('hidden', sa.Boolean(), nullable=True),
|
|
sa.Column('active', sa.Boolean(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['category_uid'], ['analysis_category.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('district',
|
|
sa.Column('province_uid', sa.String(), nullable=True),
|
|
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('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['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('instrument_competence',
|
|
sa.Column('instrument_uid', sa.String(), nullable=False),
|
|
sa.Column('description', sa.String(), nullable=True),
|
|
sa.Column('user_uid', sa.String(), nullable=False),
|
|
sa.Column('issue_date', sa.DateTime(), nullable=False),
|
|
sa.Column('expiry_date', sa.DateTime(), nullable=False),
|
|
sa.Column('internal', sa.Boolean(), nullable=False),
|
|
sa.Column('competence', sa.LargeBinary(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['instrument_uid'], ['instrument.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['user_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_instrument_competence_uid'), 'instrument_competence', ['uid'], unique=False)
|
|
op.create_table('laboratory_instrument',
|
|
sa.Column('instrument_uid', sa.String(), nullable=False),
|
|
sa.Column('lab_name', sa.String(), nullable=False),
|
|
sa.Column('serial_number', sa.String(), nullable=False),
|
|
sa.Column('date_commissioned', sa.DateTime(), nullable=True),
|
|
sa.Column('date_decommissioned', sa.DateTime(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['instrument_uid'], ['instrument.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_laboratory_instrument_uid'), 'laboratory_instrument', ['uid'], unique=False)
|
|
op.create_table('message_delete',
|
|
sa.Column('message_uid', sa.String(), nullable=False),
|
|
sa.Column('user_uid', sa.String(), 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.String(), nullable=False),
|
|
sa.Column('user_uid', sa.String(), 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.String(), nullable=False),
|
|
sa.Column('instrument_uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['instrument_uid'], ['instrument.uid'], ),
|
|
sa.ForeignKeyConstraint(['method_uid'], ['method.uid'], ),
|
|
sa.PrimaryKeyConstraint('method_uid', 'instrument_uid')
|
|
)
|
|
op.create_table('profile_coding',
|
|
sa.Column('profile_uid', sa.String(), nullable=True),
|
|
sa.Column('coding_standard_uid', sa.String(), nullable=True),
|
|
sa.Column('name', sa.String(), nullable=True),
|
|
sa.Column('description', sa.String(), nullable=True),
|
|
sa.Column('code', sa.String(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['coding_standard_uid'], ['coding_standard.uid'], ),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['profile_uid'], ['profile.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_profile_coding_uid'), 'profile_coding', ['uid'], unique=False)
|
|
op.create_table('profile_discount',
|
|
sa.Column('profile_uid', sa.String(), nullable=False),
|
|
sa.Column('name', sa.String(), nullable=False),
|
|
sa.Column('discount_type', sa.String(), nullable=False),
|
|
sa.Column('value_type', sa.String(), nullable=False),
|
|
sa.Column('start_date', sa.DateTime(), nullable=False),
|
|
sa.Column('end_date', sa.DateTime(), nullable=False),
|
|
sa.Column('voucher_uid', sa.String(), nullable=True),
|
|
sa.Column('value_percent', sa.Float(), nullable=True),
|
|
sa.Column('value_amount', sa.Float(), nullable=True),
|
|
sa.Column('is_active', sa.Boolean(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['profile_uid'], ['profile.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['voucher_uid'], ['voucher.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_profile_discount_uid'), 'profile_discount', ['uid'], unique=False)
|
|
op.create_table('profile_price',
|
|
sa.Column('profile_uid', sa.String(), nullable=True),
|
|
sa.Column('is_active', sa.Boolean(), nullable=False),
|
|
sa.Column('amount', sa.Float(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['profile_uid'], ['profile.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_profile_price_uid'), 'profile_price', ['uid'], unique=False)
|
|
op.create_table('profile_sample_type',
|
|
sa.Column('sample_type_uid', sa.String(), nullable=False),
|
|
sa.Column('profile_uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['profile_uid'], ['profile.uid'], ),
|
|
sa.ForeignKeyConstraint(['sample_type_uid'], ['sample_type.uid'], ),
|
|
sa.PrimaryKeyConstraint('sample_type_uid', 'profile_uid')
|
|
)
|
|
op.create_table('reflex_brain',
|
|
sa.Column('reflex_action_uid', sa.String(), nullable=False),
|
|
sa.Column('description', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['reflex_action_uid'], ['reflex_action.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_reflex_brain_uid'), 'reflex_brain', ['uid'], unique=False)
|
|
op.create_table('stock_item_variant',
|
|
sa.Column('name', sa.String(), nullable=False),
|
|
sa.Column('description', sa.String(), nullable=False),
|
|
sa.Column('stock_item_uid', sa.String(), nullable=True),
|
|
sa.Column('minimum_level', sa.Integer(), nullable=True),
|
|
sa.Column('maximum_level', sa.Integer(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['stock_item_uid'], ['stock_item.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_stock_item_variant_uid'), 'stock_item_variant', ['uid'], unique=False)
|
|
op.create_table('storage_section',
|
|
sa.Column('name', sa.String(), nullable=False),
|
|
sa.Column('description', sa.String(), nullable=False),
|
|
sa.Column('storage_location_uid', sa.String(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['storage_location_uid'], ['storage_location.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_storage_section_uid'), 'storage_section', ['uid'], unique=False)
|
|
op.create_table('analysis_coding',
|
|
sa.Column('analysis_uid', sa.String(), nullable=True),
|
|
sa.Column('coding_standard_uid', sa.String(), nullable=True),
|
|
sa.Column('name', sa.String(), nullable=True),
|
|
sa.Column('description', sa.String(), nullable=True),
|
|
sa.Column('code', sa.String(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
|
|
sa.ForeignKeyConstraint(['coding_standard_uid'], ['coding_standard.uid'], ),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_analysis_coding_uid'), 'analysis_coding', ['uid'], unique=False)
|
|
op.create_table('analysis_correction_factor',
|
|
sa.Column('factor', sa.Float(), nullable=False),
|
|
sa.Column('analysis_uid', sa.String(), nullable=True),
|
|
sa.Column('instrument_uid', sa.String(), nullable=True),
|
|
sa.Column('method_uid', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['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_analysis_correction_factor_uid'), 'analysis_correction_factor', ['uid'], unique=False)
|
|
op.create_table('analysis_detection_limit',
|
|
sa.Column('lower_limit', sa.Float(), nullable=False),
|
|
sa.Column('upper_limit', sa.Float(), nullable=False),
|
|
sa.Column('analysis_uid', sa.String(), nullable=True),
|
|
sa.Column('instrument_uid', sa.String(), nullable=True),
|
|
sa.Column('method_uid', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['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_analysis_detection_limit_uid'), 'analysis_detection_limit', ['uid'], unique=False)
|
|
op.create_table('analysis_discount',
|
|
sa.Column('analysis_uid', sa.String(), nullable=False),
|
|
sa.Column('name', sa.String(), nullable=False),
|
|
sa.Column('discount_type', sa.String(), nullable=False),
|
|
sa.Column('value_type', sa.String(), nullable=False),
|
|
sa.Column('start_date', sa.DateTime(), nullable=False),
|
|
sa.Column('end_date', sa.DateTime(), nullable=False),
|
|
sa.Column('voucher_uid', sa.String(), nullable=True),
|
|
sa.Column('value_percent', sa.Float(), nullable=True),
|
|
sa.Column('value_amount', sa.Float(), nullable=True),
|
|
sa.Column('is_active', sa.Boolean(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['voucher_uid'], ['voucher.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_analysis_discount_uid'), 'analysis_discount', ['uid'], unique=False)
|
|
op.create_table('analysis_instrument',
|
|
sa.Column('analysis_uid', sa.String(), nullable=False),
|
|
sa.Column('instrument_uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
|
|
sa.ForeignKeyConstraint(['instrument_uid'], ['instrument.uid'], ),
|
|
sa.PrimaryKeyConstraint('analysis_uid', 'instrument_uid')
|
|
)
|
|
op.create_table('analysis_interim',
|
|
sa.Column('key', sa.Integer(), nullable=False),
|
|
sa.Column('value', sa.String(), nullable=False),
|
|
sa.Column('analysis_uid', sa.String(), nullable=True),
|
|
sa.Column('instrument_uid', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['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_analysis_interim_uid'), 'analysis_interim', ['uid'], unique=False)
|
|
op.create_table('analysis_method',
|
|
sa.Column('analysis_uid', sa.String(), nullable=False),
|
|
sa.Column('method_uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
|
|
sa.ForeignKeyConstraint(['method_uid'], ['method.uid'], ),
|
|
sa.PrimaryKeyConstraint('analysis_uid', 'method_uid')
|
|
)
|
|
op.create_table('analysis_price',
|
|
sa.Column('analysis_uid', sa.String(), nullable=True),
|
|
sa.Column('is_active', sa.Boolean(), nullable=False),
|
|
sa.Column('amount', sa.Float(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['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_analysis_price_uid'), 'analysis_price', ['uid'], unique=False)
|
|
op.create_table('analysis_profile',
|
|
sa.Column('analysis_uid', sa.String(), nullable=False),
|
|
sa.Column('profile_uid', sa.String(), 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.String(), nullable=False),
|
|
sa.Column('report_uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
|
|
sa.ForeignKeyConstraint(['report_uid'], ['report_meta.uid'], ),
|
|
sa.PrimaryKeyConstraint('analysis_uid', 'report_uid')
|
|
)
|
|
op.create_table('analysis_sample_type',
|
|
sa.Column('sample_type_uid', sa.String(), nullable=False),
|
|
sa.Column('analysis_uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
|
|
sa.ForeignKeyConstraint(['sample_type_uid'], ['sample_type.uid'], ),
|
|
sa.PrimaryKeyConstraint('sample_type_uid', 'analysis_uid')
|
|
)
|
|
op.create_table('analysis_specification',
|
|
sa.Column('analysis_uid', sa.String(), nullable=True),
|
|
sa.Column('unit_uid', sa.String(), 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('normal_value', 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.String(), 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('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['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_analysis_specification_uid'), 'analysis_specification', ['uid'], unique=False)
|
|
op.create_table('analysis_uncertainty',
|
|
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.String(), nullable=True),
|
|
sa.Column('instrument_uid', sa.String(), nullable=True),
|
|
sa.Column('method_uid', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['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_analysis_uncertainty_uid'), 'analysis_uncertainty', ['uid'], unique=False)
|
|
op.create_table('calibration_certificate',
|
|
sa.Column('laboratory_instrument_uid', sa.String(), nullable=False),
|
|
sa.Column('certificate_code', sa.String(), nullable=False),
|
|
sa.Column('certificate', sa.LargeBinary(), nullable=True),
|
|
sa.Column('internal', sa.Boolean(), nullable=False),
|
|
sa.Column('issuer', sa.String(), nullable=True),
|
|
sa.Column('date_issued', sa.DateTime(), nullable=False),
|
|
sa.Column('valid_from_date', sa.DateTime(), nullable=False),
|
|
sa.Column('valid_to_date', sa.DateTime(), nullable=False),
|
|
sa.Column('performed_by', sa.String(), nullable=False),
|
|
sa.Column('approved_by', sa.String(), nullable=False),
|
|
sa.Column('remarks', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['laboratory_instrument_uid'], ['laboratory_instrument.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_calibration_certificate_certificate_code'), 'calibration_certificate', ['certificate_code'], unique=True)
|
|
op.create_index(op.f('ix_calibration_certificate_uid'), 'calibration_certificate', ['uid'], unique=False)
|
|
op.create_table('client',
|
|
sa.Column('name', sa.String(), nullable=False),
|
|
sa.Column('code', sa.String(), nullable=False),
|
|
sa.Column('district_uid', sa.String(), nullable=True),
|
|
sa.Column('province_uid', sa.String(), 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('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['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('instrument_calibration',
|
|
sa.Column('laboratory_instrument_uid', sa.String(), nullable=False),
|
|
sa.Column('calibration_id', sa.String(), nullable=True),
|
|
sa.Column('date_reported', sa.DateTime(), nullable=False),
|
|
sa.Column('report_id', sa.String(), nullable=True),
|
|
sa.Column('report', sa.LargeBinary(), nullable=True),
|
|
sa.Column('performed_by', sa.String(), nullable=False),
|
|
sa.Column('start_date', sa.DateTime(), nullable=False),
|
|
sa.Column('end_date', sa.DateTime(), nullable=False),
|
|
sa.Column('notes_before', sa.String(), nullable=True),
|
|
sa.Column('work_done', sa.String(), nullable=False),
|
|
sa.Column('remarks', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['laboratory_instrument_uid'], ['laboratory_instrument.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_instrument_calibration_calibration_id'), 'instrument_calibration', ['calibration_id'], unique=True)
|
|
op.create_index(op.f('ix_instrument_calibration_report_id'), 'instrument_calibration', ['report_id'], unique=True)
|
|
op.create_index(op.f('ix_instrument_calibration_uid'), 'instrument_calibration', ['uid'], unique=False)
|
|
op.create_table('qc_reference_analysis',
|
|
sa.Column('qc_reference_uid', sa.String(), nullable=False),
|
|
sa.Column('analysis_uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
|
|
sa.ForeignKeyConstraint(['qc_reference_uid'], ['qc_reference.uid'], ),
|
|
sa.PrimaryKeyConstraint('qc_reference_uid', 'analysis_uid')
|
|
)
|
|
op.create_table('reflex_action_analysis',
|
|
sa.Column('analysis_uid', sa.String(), nullable=False),
|
|
sa.Column('reflex_action_uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
|
|
sa.ForeignKeyConstraint(['reflex_action_uid'], ['reflex_action.uid'], ),
|
|
sa.PrimaryKeyConstraint('analysis_uid', 'reflex_action_uid')
|
|
)
|
|
op.create_table('reflex_brain_addition',
|
|
sa.Column('analysis_uid', sa.String(), nullable=False),
|
|
sa.Column('reflex_brain_uid', sa.String(), nullable=False),
|
|
sa.Column('count', sa.Integer(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
|
|
sa.ForeignKeyConstraint(['reflex_brain_uid'], ['reflex_brain.uid'], ),
|
|
sa.PrimaryKeyConstraint('analysis_uid', 'reflex_brain_uid', 'uid')
|
|
)
|
|
op.create_index(op.f('ix_reflex_brain_addition_uid'), 'reflex_brain_addition', ['uid'], unique=False)
|
|
op.create_table('reflex_brain_criteria',
|
|
sa.Column('analysis_uid', sa.String(), nullable=False),
|
|
sa.Column('reflex_brain_uid', sa.String(), nullable=False),
|
|
sa.Column('operator', sa.String(), nullable=False),
|
|
sa.Column('value', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
|
|
sa.ForeignKeyConstraint(['reflex_brain_uid'], ['reflex_brain.uid'], ),
|
|
sa.PrimaryKeyConstraint('analysis_uid', 'reflex_brain_uid', 'uid')
|
|
)
|
|
op.create_index(op.f('ix_reflex_brain_criteria_uid'), 'reflex_brain_criteria', ['uid'], unique=False)
|
|
op.create_table('reflex_brain_final',
|
|
sa.Column('analysis_uid', sa.String(), nullable=False),
|
|
sa.Column('reflex_brain_uid', sa.String(), nullable=False),
|
|
sa.Column('value', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
|
|
sa.ForeignKeyConstraint(['reflex_brain_uid'], ['reflex_brain.uid'], ),
|
|
sa.PrimaryKeyConstraint('analysis_uid', 'reflex_brain_uid', 'uid')
|
|
)
|
|
op.create_index(op.f('ix_reflex_brain_final_uid'), 'reflex_brain_final', ['uid'], unique=False)
|
|
op.create_table('result_options',
|
|
sa.Column('option_key', sa.Integer(), nullable=False),
|
|
sa.Column('value', sa.String(), nullable=False),
|
|
sa.Column('analysis_uid', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['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_result_options_uid'), 'result_options', ['uid'], unique=False)
|
|
op.create_table('stock_lot',
|
|
sa.Column('product_uid', sa.String(), nullable=True),
|
|
sa.Column('lot_number', sa.String(), nullable=False),
|
|
sa.Column('expiry_date', sa.DateTime(), nullable=False),
|
|
sa.Column('remarks', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['product_uid'], ['stock_item_variant.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_stock_lot_uid'), 'stock_lot', ['uid'], unique=False)
|
|
op.create_table('storage_container',
|
|
sa.Column('name', sa.String(), nullable=False),
|
|
sa.Column('description', sa.String(), nullable=False),
|
|
sa.Column('storage_section_uid', sa.String(), nullable=False),
|
|
sa.Column('slots', sa.Integer(), nullable=False),
|
|
sa.Column('grid', sa.Boolean(), nullable=True),
|
|
sa.Column('row_wise', sa.Boolean(), nullable=True),
|
|
sa.Column('cols', sa.Integer(), nullable=True),
|
|
sa.Column('rows', sa.Integer(), nullable=True),
|
|
sa.Column('stored_count', sa.Integer(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['storage_section_uid'], ['storage_section.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_storage_container_uid'), 'storage_container', ['uid'], unique=False)
|
|
op.create_table('worksheet_template',
|
|
sa.Column('name', sa.String(), nullable=False),
|
|
sa.Column('description', sa.String(), nullable=True),
|
|
sa.Column('analysis_uid', sa.String(), nullable=True),
|
|
sa.Column('qc_template_uid', sa.String(), nullable=True),
|
|
sa.Column('instrument_uid', sa.String(), nullable=True),
|
|
sa.Column('sample_type_uid', sa.String(), nullable=False),
|
|
sa.Column('worksheet_type', sa.String(), nullable=True),
|
|
sa.Column('reserved', 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('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['instrument_uid'], ['instrument.uid'], ),
|
|
sa.ForeignKeyConstraint(['qc_template_uid'], ['qc_template.uid'], ),
|
|
sa.ForeignKeyConstraint(['sample_type_uid'], ['sample_type.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid'),
|
|
sa.UniqueConstraint('name')
|
|
)
|
|
op.create_index(op.f('ix_worksheet_template_uid'), 'worksheet_template', ['uid'], unique=False)
|
|
op.create_table('client_contact',
|
|
sa.Column('auth_uid', sa.String(), 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.String(), 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('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('creator_name', sa.String(), nullable=True),
|
|
sa.Column('creator_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updator_name', sa.String(), nullable=True),
|
|
sa.Column('updator_uid', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['auth_uid'], ['user_auth.uid'], ),
|
|
sa.ForeignKeyConstraint(['client_uid'], ['client.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_client_contact_email'), 'client_contact', ['email'], unique=False)
|
|
op.create_index(op.f('ix_client_contact_first_name'), 'client_contact', ['first_name'], unique=False)
|
|
op.create_index(op.f('ix_client_contact_last_name'), 'client_contact', ['last_name'], unique=False)
|
|
op.create_index(op.f('ix_client_contact_uid'), 'client_contact', ['uid'], unique=False)
|
|
op.create_table('patient',
|
|
sa.Column('client_patient_id', sa.String(), nullable=False),
|
|
sa.Column('patient_id', sa.String(), nullable=True),
|
|
sa.Column('client_uid', sa.String(), 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.String(), 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('district_uid', sa.String(), nullable=True),
|
|
sa.Column('province_uid', sa.String(), nullable=True),
|
|
sa.Column('country_uid', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['client_uid'], ['client.uid'], ),
|
|
sa.ForeignKeyConstraint(['country_uid'], ['country.uid'], ),
|
|
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_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('result_option_sample_type',
|
|
sa.Column('result_option_uid', sa.String(), nullable=False),
|
|
sa.Column('sample_type_uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['result_option_uid'], ['result_options.uid'], ),
|
|
sa.ForeignKeyConstraint(['sample_type_uid'], ['sample_type.uid'], ),
|
|
sa.PrimaryKeyConstraint('result_option_uid', 'sample_type_uid')
|
|
)
|
|
op.create_table('stock_adjustment',
|
|
sa.Column('product_uid', sa.String(), nullable=True),
|
|
sa.Column('stock_lot_uid', sa.String(), 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.String(), nullable=True),
|
|
sa.Column('adjustment_for_uid', sa.Integer(), nullable=True),
|
|
sa.Column('adjustment_for', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['adjustment_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['adjustment_for'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['product_uid'], ['stock_item_variant.uid'], ),
|
|
sa.ForeignKeyConstraint(['stock_lot_uid'], ['stock_lot.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_stock_adjustment_uid'), 'stock_adjustment', ['uid'], unique=False)
|
|
op.create_table('stock_order_product',
|
|
sa.Column('product_uid', sa.String(), nullable=True),
|
|
sa.Column('stock_lot_uid', sa.String(), nullable=True),
|
|
sa.Column('order_uid', sa.String(), nullable=True),
|
|
sa.Column('quantity', sa.Integer(), nullable=False),
|
|
sa.Column('remarks', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['order_uid'], ['stock_order.uid'], ),
|
|
sa.ForeignKeyConstraint(['product_uid'], ['stock_item_variant.uid'], ),
|
|
sa.ForeignKeyConstraint(['stock_lot_uid'], ['stock_lot.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_stock_order_product_uid'), 'stock_order_product', ['uid'], unique=False)
|
|
op.create_table('stock_product_inventory',
|
|
sa.Column('product_uid', sa.String(), nullable=True),
|
|
sa.Column('stock_lot_uid', sa.String(), nullable=True),
|
|
sa.Column('quantity', sa.Integer(), nullable=False),
|
|
sa.Column('remarks', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['product_uid'], ['stock_item_variant.uid'], ),
|
|
sa.ForeignKeyConstraint(['stock_lot_uid'], ['stock_lot.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_stock_product_inventory_uid'), 'stock_product_inventory', ['uid'], unique=False)
|
|
op.create_table('stock_receipt',
|
|
sa.Column('product_uid', sa.String(), nullable=False),
|
|
sa.Column('stock_lot_uid', sa.String(), nullable=True),
|
|
sa.Column('unit_price', sa.Float(), nullable=True),
|
|
sa.Column('total_price', sa.Float(), nullable=True),
|
|
sa.Column('supplier_uid', sa.String(), nullable=True),
|
|
sa.Column('unit_uid', sa.String(), nullable=True),
|
|
sa.Column('singles_received', sa.Integer(), nullable=True),
|
|
sa.Column('packages_received', sa.Integer(), nullable=True),
|
|
sa.Column('package_factor', sa.Integer(), nullable=True),
|
|
sa.Column('quantity_received', sa.Integer(), nullable=False),
|
|
sa.Column('receipt_type', sa.String(), nullable=False),
|
|
sa.Column('receipt_by_uid', sa.String(), nullable=True),
|
|
sa.Column('receipt_date', sa.DateTime(), nullable=False),
|
|
sa.Column('expiry_date', sa.DateTime(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['product_uid'], ['stock_item_variant.uid'], ),
|
|
sa.ForeignKeyConstraint(['receipt_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['stock_lot_uid'], ['stock_lot.uid'], ),
|
|
sa.ForeignKeyConstraint(['supplier_uid'], ['supplier.uid'], ),
|
|
sa.ForeignKeyConstraint(['unit_uid'], ['stock_unit.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_stock_receipt_uid'), 'stock_receipt', ['uid'], unique=False)
|
|
op.create_table('worksheet',
|
|
sa.Column('template_uid', sa.String(), nullable=False),
|
|
sa.Column('analyst_uid', sa.String(), nullable=False),
|
|
sa.Column('worksheet_id', sa.String(), nullable=False),
|
|
sa.Column('analysis_uid', sa.String(), nullable=True),
|
|
sa.Column('instrument_uid', sa.String(), nullable=True),
|
|
sa.Column('sample_type_uid', sa.String(), nullable=False),
|
|
sa.Column('assigned_count', sa.Integer(), nullable=False),
|
|
sa.Column('submitted_by_uid', sa.String(), nullable=True),
|
|
sa.Column('date_submitted', sa.DateTime(), nullable=True),
|
|
sa.Column('verified_by_uid', sa.String(), nullable=True),
|
|
sa.Column('date_verified', sa.DateTime(), nullable=True),
|
|
sa.Column('worksheet_type', sa.String(), nullable=True),
|
|
sa.Column('reserved', 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('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['analysis_uid'], ['analysis.uid'], ),
|
|
sa.ForeignKeyConstraint(['analyst_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['instrument_uid'], ['instrument.uid'], ),
|
|
sa.ForeignKeyConstraint(['sample_type_uid'], ['sample_type.uid'], ),
|
|
sa.ForeignKeyConstraint(['submitted_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['template_uid'], ['worksheet_template.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_qc_level',
|
|
sa.Column('ws_template_uid', sa.String(), nullable=False),
|
|
sa.Column('qc_level_uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['qc_level_uid'], ['qc_level.uid'], ),
|
|
sa.ForeignKeyConstraint(['ws_template_uid'], ['worksheet_template.uid'], ),
|
|
sa.PrimaryKeyConstraint('ws_template_uid', 'qc_level_uid')
|
|
)
|
|
op.create_table('analysis_request',
|
|
sa.Column('patient_uid', sa.String(), nullable=True),
|
|
sa.Column('client_uid', sa.String(), 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('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['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_analysis_request_request_id'), 'analysis_request', ['request_id'], unique=True)
|
|
op.create_index(op.f('ix_analysis_request_uid'), 'analysis_request', ['uid'], unique=False)
|
|
op.create_table('patient_identification',
|
|
sa.Column('identification_uid', sa.String(), nullable=True),
|
|
sa.Column('patient_uid', sa.String(), nullable=True),
|
|
sa.Column('value', sa.String(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['identification_uid'], ['identification.uid'], ),
|
|
sa.ForeignKeyConstraint(['patient_uid'], ['patient.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_patient_identification_uid'), 'patient_identification', ['uid'], unique=False)
|
|
op.create_index(op.f('ix_patient_identification_value'), 'patient_identification', ['value'], unique=False)
|
|
op.create_table('test_bill',
|
|
sa.Column('bill_id', sa.String(), nullable=False),
|
|
sa.Column('patient_uid', sa.String(), nullable=True),
|
|
sa.Column('client_uid', sa.String(), nullable=True),
|
|
sa.Column('is_active', sa.Boolean(), nullable=False),
|
|
sa.Column('to_confirm', sa.Boolean(), nullable=False),
|
|
sa.Column('partial', sa.Boolean(), nullable=False),
|
|
sa.Column('total_charged', sa.Float(), nullable=False),
|
|
sa.Column('total_paid', sa.Float(), nullable=False),
|
|
sa.Column('json_content', postgresql.JSONB(astext_type=sa.Text()), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['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')
|
|
)
|
|
op.create_index(op.f('ix_test_bill_uid'), 'test_bill', ['uid'], unique=False)
|
|
op.create_table('voucher_customer',
|
|
sa.Column('patient_uid', sa.String(), nullable=False),
|
|
sa.Column('voucher_code_uid', sa.String(), nullable=False),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['patient_uid'], ['patient.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['voucher_code_uid'], ['voucher_code.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_voucher_customer_uid'), 'voucher_customer', ['uid'], unique=False)
|
|
op.create_table('sample',
|
|
sa.Column('analysis_request_uid', sa.String(), nullable=True),
|
|
sa.Column('sample_type_uid', sa.String(), nullable=False),
|
|
sa.Column('sample_id', sa.String(), nullable=True),
|
|
sa.Column('assigned', sa.Boolean(), nullable=True),
|
|
sa.Column('priority', sa.Integer(), nullable=False),
|
|
sa.Column('status', sa.String(), nullable=False),
|
|
sa.Column('date_collected', sa.DateTime(), nullable=True),
|
|
sa.Column('received_by_uid', sa.String(), nullable=True),
|
|
sa.Column('date_received', sa.DateTime(), nullable=True),
|
|
sa.Column('submitted_by_uid', sa.String(), nullable=True),
|
|
sa.Column('date_submitted', sa.DateTime(), nullable=True),
|
|
sa.Column('verified_by_uid', sa.String(), nullable=True),
|
|
sa.Column('date_verified', sa.DateTime(), nullable=True),
|
|
sa.Column('published_by_uid', sa.String(), nullable=True),
|
|
sa.Column('date_published', sa.DateTime(), nullable=True),
|
|
sa.Column('printed', sa.Boolean(), nullable=True),
|
|
sa.Column('printed_by_uid', sa.String(), nullable=True),
|
|
sa.Column('date_printed', sa.DateTime(), nullable=True),
|
|
sa.Column('invalidated_by_uid', sa.String(), nullable=True),
|
|
sa.Column('date_invalidated', sa.DateTime(), nullable=True),
|
|
sa.Column('cancelled_by_uid', sa.String(), 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.String(), nullable=True),
|
|
sa.Column('qc_level_uid', sa.String(), nullable=True),
|
|
sa.Column('stored_by_uid', sa.String(), nullable=True),
|
|
sa.Column('date_stored', sa.DateTime(), nullable=True),
|
|
sa.Column('date_retrieved_from_storage', sa.DateTime(), nullable=True),
|
|
sa.Column('storage_container_uid', sa.String(), nullable=True),
|
|
sa.Column('storage_slot', sa.String(), nullable=True),
|
|
sa.Column('storage_slot_index', sa.Integer(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.Column('tree_id', sa.Integer(), nullable=True),
|
|
sa.Column('parent_id', sa.String(), 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'], ['analysis_request.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(['printed_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['published_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['qc_level_uid'], ['qc_level.uid'], ),
|
|
sa.ForeignKeyConstraint(['qc_set_uid'], ['qc_set.uid'], ),
|
|
sa.ForeignKeyConstraint(['received_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['sample_type_uid'], ['sample_type.uid'], ),
|
|
sa.ForeignKeyConstraint(['storage_container_uid'], ['storage_container.uid'], ),
|
|
sa.ForeignKeyConstraint(['stored_by_uid'], ['user.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('test_bill_invoice',
|
|
sa.Column('test_bill_uid', sa.String(), nullable=True),
|
|
sa.Column('json_content', postgresql.JSONB(astext_type=sa.Text()), nullable=True),
|
|
sa.Column('pdf_content', sa.LargeBinary(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['test_bill_uid'], ['test_bill.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_test_bill_invoice_uid'), 'test_bill_invoice', ['uid'], unique=False)
|
|
op.create_table('test_bill_item',
|
|
sa.Column('test_bill_uid', sa.String(), nullable=False),
|
|
sa.Column('analysis_request_uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['analysis_request_uid'], ['analysis_request.uid'], ),
|
|
sa.ForeignKeyConstraint(['test_bill_uid'], ['test_bill.uid'], ),
|
|
sa.PrimaryKeyConstraint('test_bill_uid', 'analysis_request_uid')
|
|
)
|
|
op.create_table('test_bill_transaction',
|
|
sa.Column('test_bill_uid', sa.String(), nullable=True),
|
|
sa.Column('kind', sa.String(), nullable=False),
|
|
sa.Column('amount', sa.Float(), nullable=False),
|
|
sa.Column('notes', sa.String(), nullable=True),
|
|
sa.Column('is_success', sa.Boolean(), nullable=False),
|
|
sa.Column('processed', sa.Boolean(), nullable=False),
|
|
sa.Column('message', sa.String(), nullable=True),
|
|
sa.Column('action_required', sa.Boolean(), nullable=False),
|
|
sa.Column('action_message', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['test_bill_uid'], ['test_bill.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_test_bill_transaction_uid'), 'test_bill_transaction', ['uid'], unique=False)
|
|
op.create_table('analysis_result',
|
|
sa.Column('sample_uid', sa.String(), nullable=False),
|
|
sa.Column('analysis_uid', sa.String(), nullable=False),
|
|
sa.Column('laboratory_instrument_uid', sa.String(), nullable=True),
|
|
sa.Column('method_uid', sa.String(), nullable=True),
|
|
sa.Column('result', sa.String(), nullable=True),
|
|
sa.Column('analyst_uid', sa.String(), nullable=True),
|
|
sa.Column('submitted_by_uid', sa.String(), nullable=True),
|
|
sa.Column('submitted_by_name', sa.String(), nullable=True),
|
|
sa.Column('date_submitted', sa.DateTime(), nullable=True),
|
|
sa.Column('verified_by_name', sa.String(), nullable=True),
|
|
sa.Column('date_verified', sa.DateTime(), nullable=True),
|
|
sa.Column('invalidated_by_uid', sa.String(), nullable=True),
|
|
sa.Column('date_invalidated', sa.DateTime(), nullable=True),
|
|
sa.Column('cancelled_by_uid', sa.String(), 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('due_date', sa.DateTime(), nullable=True),
|
|
sa.Column('reflex_level', sa.Integer(), nullable=True),
|
|
sa.Column('worksheet_uid', sa.String(), nullable=True),
|
|
sa.Column('worksheet_position', sa.Integer(), nullable=True),
|
|
sa.Column('assigned', sa.Boolean(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.Column('tree_id', sa.Integer(), nullable=True),
|
|
sa.Column('parent_id', sa.String(), 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(['invalidated_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['laboratory_instrument_uid'], ['laboratory_instrument.uid'], ),
|
|
sa.ForeignKeyConstraint(['method_uid'], ['method.uid'], ),
|
|
sa.ForeignKeyConstraint(['parent_id'], ['analysis_result.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(['worksheet_uid'], ['worksheet.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_analysis_result_level'), 'analysis_result', ['level'], unique=False)
|
|
op.create_index(op.f('ix_analysis_result_lft'), 'analysis_result', ['lft'], unique=False)
|
|
op.create_index(op.f('ix_analysis_result_rgt'), 'analysis_result', ['rgt'], unique=False)
|
|
op.create_index(op.f('ix_analysis_result_uid'), 'analysis_result', ['uid'], unique=False)
|
|
op.create_table('report_impress',
|
|
sa.Column('state', sa.String(), nullable=True),
|
|
sa.Column('sample_uid', sa.String(), nullable=False),
|
|
sa.Column('json_content', postgresql.JSONB(astext_type=sa.Text()), nullable=True),
|
|
sa.Column('pdf_content', sa.LargeBinary(), nullable=True),
|
|
sa.Column('email_required', sa.Boolean(), nullable=True),
|
|
sa.Column('email_sent', sa.Boolean(), nullable=True),
|
|
sa.Column('sms_required', sa.Boolean(), nullable=True),
|
|
sa.Column('sms_sent', sa.Boolean(), nullable=True),
|
|
sa.Column('generated_by_uid', sa.String(), nullable=True),
|
|
sa.Column('date_generated', sa.DateTime(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['generated_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['sample_uid'], ['sample.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_report_impress_uid'), 'report_impress', ['uid'], unique=False)
|
|
op.create_table('sample_analysis',
|
|
sa.Column('sample_uid', sa.String(), nullable=False),
|
|
sa.Column('analysis_uid', sa.String(), 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.String(), nullable=False),
|
|
sa.Column('profile_uid', sa.String(), 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.String(), nullable=False),
|
|
sa.Column('rejection_reason_uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['rejection_reason_uid'], ['rejection_reason.uid'], ),
|
|
sa.ForeignKeyConstraint(['sample_uid'], ['sample.uid'], ),
|
|
sa.PrimaryKeyConstraint('sample_uid', 'rejection_reason_uid')
|
|
)
|
|
op.create_table('shipped_sample',
|
|
sa.Column('sample_uid', sa.String(), nullable=True),
|
|
sa.Column('shipment_uid', sa.String(), nullable=True),
|
|
sa.Column('result_notified', sa.Boolean(), nullable=True),
|
|
sa.Column('ext_sample_uid', sa.String(), nullable=True),
|
|
sa.Column('ext_sample_id', sa.String(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['sample_uid'], ['sample.uid'], ),
|
|
sa.ForeignKeyConstraint(['shipment_uid'], ['shipment.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_shipped_sample_uid'), 'shipped_sample', ['uid'], unique=False)
|
|
op.create_table('result_mutation',
|
|
sa.Column('result_uid', sa.String(), nullable=False),
|
|
sa.Column('before', sa.String(), nullable=False),
|
|
sa.Column('after', sa.String(), nullable=False),
|
|
sa.Column('mutation', sa.String(), nullable=False),
|
|
sa.Column('date', sa.DateTime(), nullable=True),
|
|
sa.Column('uid', sa.String(), nullable=False),
|
|
sa.Column('created_at', sa.DateTime(), nullable=True),
|
|
sa.Column('created_by_uid', sa.String(), nullable=True),
|
|
sa.Column('updated_at', sa.DateTime(), nullable=True),
|
|
sa.Column('updated_by_uid', sa.String(), nullable=True),
|
|
sa.ForeignKeyConstraint(['created_by_uid'], ['user.uid'], ),
|
|
sa.ForeignKeyConstraint(['result_uid'], ['analysis_result.uid'], ),
|
|
sa.ForeignKeyConstraint(['updated_by_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('uid')
|
|
)
|
|
op.create_index(op.f('ix_result_mutation_uid'), 'result_mutation', ['uid'], unique=False)
|
|
op.create_table('result_verification',
|
|
sa.Column('result_uid', sa.String(), nullable=False),
|
|
sa.Column('user_uid', sa.String(), nullable=False),
|
|
sa.ForeignKeyConstraint(['result_uid'], ['analysis_result.uid'], ),
|
|
sa.ForeignKeyConstraint(['user_uid'], ['user.uid'], ),
|
|
sa.PrimaryKeyConstraint('result_uid', 'user_uid')
|
|
)
|
|
# ### end Alembic commands ###
|
|
|
|
|
|
def downgrade():
|
|
# ### commands auto generated by Alembic - please adjust! ###
|
|
op.drop_table('result_verification')
|
|
op.drop_index(op.f('ix_result_mutation_uid'), table_name='result_mutation')
|
|
op.drop_table('result_mutation')
|
|
op.drop_index(op.f('ix_shipped_sample_uid'), table_name='shipped_sample')
|
|
op.drop_table('shipped_sample')
|
|
op.drop_table('sample_rejection_reason')
|
|
op.drop_table('sample_profile')
|
|
op.drop_table('sample_analysis')
|
|
op.drop_index(op.f('ix_report_impress_uid'), table_name='report_impress')
|
|
op.drop_table('report_impress')
|
|
op.drop_index(op.f('ix_analysis_result_uid'), table_name='analysis_result')
|
|
op.drop_index(op.f('ix_analysis_result_rgt'), table_name='analysis_result')
|
|
op.drop_index(op.f('ix_analysis_result_lft'), table_name='analysis_result')
|
|
op.drop_index(op.f('ix_analysis_result_level'), table_name='analysis_result')
|
|
op.drop_table('analysis_result')
|
|
op.drop_index(op.f('ix_test_bill_transaction_uid'), table_name='test_bill_transaction')
|
|
op.drop_table('test_bill_transaction')
|
|
op.drop_table('test_bill_item')
|
|
op.drop_index(op.f('ix_test_bill_invoice_uid'), table_name='test_bill_invoice')
|
|
op.drop_table('test_bill_invoice')
|
|
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_voucher_customer_uid'), table_name='voucher_customer')
|
|
op.drop_table('voucher_customer')
|
|
op.drop_index(op.f('ix_test_bill_uid'), table_name='test_bill')
|
|
op.drop_table('test_bill')
|
|
op.drop_index(op.f('ix_patient_identification_value'), table_name='patient_identification')
|
|
op.drop_index(op.f('ix_patient_identification_uid'), table_name='patient_identification')
|
|
op.drop_table('patient_identification')
|
|
op.drop_index(op.f('ix_analysis_request_uid'), table_name='analysis_request')
|
|
op.drop_index(op.f('ix_analysis_request_request_id'), table_name='analysis_request')
|
|
op.drop_table('analysis_request')
|
|
op.drop_table('worksheet_template_qc_level')
|
|
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_stock_receipt_uid'), table_name='stock_receipt')
|
|
op.drop_table('stock_receipt')
|
|
op.drop_index(op.f('ix_stock_product_inventory_uid'), table_name='stock_product_inventory')
|
|
op.drop_table('stock_product_inventory')
|
|
op.drop_index(op.f('ix_stock_order_product_uid'), table_name='stock_order_product')
|
|
op.drop_table('stock_order_product')
|
|
op.drop_index(op.f('ix_stock_adjustment_uid'), table_name='stock_adjustment')
|
|
op.drop_table('stock_adjustment')
|
|
op.drop_table('result_option_sample_type')
|
|
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_index(op.f('ix_client_contact_uid'), table_name='client_contact')
|
|
op.drop_index(op.f('ix_client_contact_last_name'), table_name='client_contact')
|
|
op.drop_index(op.f('ix_client_contact_first_name'), table_name='client_contact')
|
|
op.drop_index(op.f('ix_client_contact_email'), table_name='client_contact')
|
|
op.drop_table('client_contact')
|
|
op.drop_index(op.f('ix_worksheet_template_uid'), table_name='worksheet_template')
|
|
op.drop_table('worksheet_template')
|
|
op.drop_index(op.f('ix_storage_container_uid'), table_name='storage_container')
|
|
op.drop_table('storage_container')
|
|
op.drop_index(op.f('ix_stock_lot_uid'), table_name='stock_lot')
|
|
op.drop_table('stock_lot')
|
|
op.drop_index(op.f('ix_result_options_uid'), table_name='result_options')
|
|
op.drop_table('result_options')
|
|
op.drop_index(op.f('ix_reflex_brain_final_uid'), table_name='reflex_brain_final')
|
|
op.drop_table('reflex_brain_final')
|
|
op.drop_index(op.f('ix_reflex_brain_criteria_uid'), table_name='reflex_brain_criteria')
|
|
op.drop_table('reflex_brain_criteria')
|
|
op.drop_index(op.f('ix_reflex_brain_addition_uid'), table_name='reflex_brain_addition')
|
|
op.drop_table('reflex_brain_addition')
|
|
op.drop_table('reflex_action_analysis')
|
|
op.drop_table('qc_reference_analysis')
|
|
op.drop_index(op.f('ix_instrument_calibration_uid'), table_name='instrument_calibration')
|
|
op.drop_index(op.f('ix_instrument_calibration_report_id'), table_name='instrument_calibration')
|
|
op.drop_index(op.f('ix_instrument_calibration_calibration_id'), table_name='instrument_calibration')
|
|
op.drop_table('instrument_calibration')
|
|
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_calibration_certificate_uid'), table_name='calibration_certificate')
|
|
op.drop_index(op.f('ix_calibration_certificate_certificate_code'), table_name='calibration_certificate')
|
|
op.drop_table('calibration_certificate')
|
|
op.drop_index(op.f('ix_analysis_uncertainty_uid'), table_name='analysis_uncertainty')
|
|
op.drop_table('analysis_uncertainty')
|
|
op.drop_index(op.f('ix_analysis_specification_uid'), table_name='analysis_specification')
|
|
op.drop_table('analysis_specification')
|
|
op.drop_table('analysis_sample_type')
|
|
op.drop_table('analysis_reports')
|
|
op.drop_table('analysis_profile')
|
|
op.drop_index(op.f('ix_analysis_price_uid'), table_name='analysis_price')
|
|
op.drop_table('analysis_price')
|
|
op.drop_table('analysis_method')
|
|
op.drop_index(op.f('ix_analysis_interim_uid'), table_name='analysis_interim')
|
|
op.drop_table('analysis_interim')
|
|
op.drop_table('analysis_instrument')
|
|
op.drop_index(op.f('ix_analysis_discount_uid'), table_name='analysis_discount')
|
|
op.drop_table('analysis_discount')
|
|
op.drop_index(op.f('ix_analysis_detection_limit_uid'), table_name='analysis_detection_limit')
|
|
op.drop_table('analysis_detection_limit')
|
|
op.drop_index(op.f('ix_analysis_correction_factor_uid'), table_name='analysis_correction_factor')
|
|
op.drop_table('analysis_correction_factor')
|
|
op.drop_index(op.f('ix_analysis_coding_uid'), table_name='analysis_coding')
|
|
op.drop_table('analysis_coding')
|
|
op.drop_index(op.f('ix_storage_section_uid'), table_name='storage_section')
|
|
op.drop_table('storage_section')
|
|
op.drop_index(op.f('ix_stock_item_variant_uid'), table_name='stock_item_variant')
|
|
op.drop_table('stock_item_variant')
|
|
op.drop_index(op.f('ix_reflex_brain_uid'), table_name='reflex_brain')
|
|
op.drop_table('reflex_brain')
|
|
op.drop_table('profile_sample_type')
|
|
op.drop_index(op.f('ix_profile_price_uid'), table_name='profile_price')
|
|
op.drop_table('profile_price')
|
|
op.drop_index(op.f('ix_profile_discount_uid'), table_name='profile_discount')
|
|
op.drop_table('profile_discount')
|
|
op.drop_index(op.f('ix_profile_coding_uid'), table_name='profile_coding')
|
|
op.drop_table('profile_coding')
|
|
op.drop_table('method_instrument')
|
|
op.drop_table('message_view')
|
|
op.drop_table('message_delete')
|
|
op.drop_index(op.f('ix_laboratory_instrument_uid'), table_name='laboratory_instrument')
|
|
op.drop_table('laboratory_instrument')
|
|
op.drop_index(op.f('ix_instrument_competence_uid'), table_name='instrument_competence')
|
|
op.drop_table('instrument_competence')
|
|
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_analysis_uid'), table_name='analysis')
|
|
op.drop_table('analysis')
|
|
op.drop_index(op.f('ix_voucher_code_uid'), table_name='voucher_code')
|
|
op.drop_table('voucher_code')
|
|
op.drop_table('user_notification')
|
|
op.drop_index(op.f('ix_storage_location_uid'), table_name='storage_location')
|
|
op.drop_table('storage_location')
|
|
op.drop_index(op.f('ix_stock_order_uid'), table_name='stock_order')
|
|
op.drop_table('stock_order')
|
|
op.drop_index(op.f('ix_stock_item_uid'), table_name='stock_item')
|
|
op.drop_table('stock_item')
|
|
op.drop_index(op.f('ix_shipment_uid'), table_name='shipment')
|
|
op.drop_index(op.f('ix_shipment_shipment_id'), table_name='shipment')
|
|
op.drop_table('shipment')
|
|
op.drop_index(op.f('ix_sampe_type_coding_uid'), table_name='sampe_type_coding')
|
|
op.drop_table('sampe_type_coding')
|
|
op.drop_index(op.f('ix_reflex_action_uid'), table_name='reflex_action')
|
|
op.drop_table('reflex_action')
|
|
op.drop_table('qc_template_qc_level')
|
|
op.drop_table('qc_template_department')
|
|
op.drop_index(op.f('ix_qc_reference_uid'), table_name='qc_reference')
|
|
op.drop_table('qc_reference')
|
|
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_laboratory_setting_uid'), table_name='laboratory_setting')
|
|
op.drop_table('laboratory_setting')
|
|
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_table('department_preference')
|
|
op.drop_table('department_notification')
|
|
op.drop_table('department_notice')
|
|
op.drop_index(op.f('ix_analysis_category_uid'), table_name='analysis_category')
|
|
op.drop_table('analysis_category')
|
|
op.drop_table('activity_stream_view')
|
|
op.drop_table('activity_stream_feed')
|
|
op.drop_table('activity_feed_subscription')
|
|
op.drop_index(op.f('ix_voucher_uid'), table_name='voucher')
|
|
op.drop_table('voucher')
|
|
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_supplier_uid'), table_name='supplier')
|
|
op.drop_table('supplier')
|
|
op.drop_index(op.f('ix_store_room_uid'), table_name='store_room')
|
|
op.drop_table('store_room')
|
|
op.drop_index(op.f('ix_stock_unit_uid'), table_name='stock_unit')
|
|
op.drop_table('stock_unit')
|
|
op.drop_index(op.f('ix_stock_category_uid'), table_name='stock_category')
|
|
op.drop_table('stock_category')
|
|
op.drop_index(op.f('ix_sample_type_uid'), table_name='sample_type')
|
|
op.drop_table('sample_type')
|
|
op.drop_index(op.f('ix_report_meta_uid'), table_name='report_meta')
|
|
op.drop_table('report_meta')
|
|
op.drop_index(op.f('ix_rejection_reason_uid'), table_name='rejection_reason')
|
|
op.drop_table('rejection_reason')
|
|
op.drop_index(op.f('ix_reflex_rule_uid'), table_name='reflex_rule')
|
|
op.drop_index(op.f('ix_reflex_rule_name'), table_name='reflex_rule')
|
|
op.drop_table('reflex_rule')
|
|
op.drop_index(op.f('ix_referral_laboratory_uid'), table_name='referral_laboratory')
|
|
op.drop_index(op.f('ix_referral_laboratory_code'), table_name='referral_laboratory')
|
|
op.drop_table('referral_laboratory')
|
|
op.drop_index(op.f('ix_qc_template_uid'), table_name='qc_template')
|
|
op.drop_table('qc_template')
|
|
op.drop_index(op.f('ix_qc_set_uid'), table_name='qc_set')
|
|
op.drop_table('qc_set')
|
|
op.drop_index(op.f('ix_qc_level_uid'), table_name='qc_level')
|
|
op.drop_table('qc_level')
|
|
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_message_thread_uid'), table_name='message_thread')
|
|
op.drop_table('message_thread')
|
|
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_instrument_type_uid'), table_name='instrument_type')
|
|
op.drop_table('instrument_type')
|
|
op.drop_index(op.f('ix_identification_uid'), table_name='identification')
|
|
op.drop_index(op.f('ix_identification_name'), table_name='identification')
|
|
op.drop_table('identification')
|
|
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_coding_standard_uid'), table_name='coding_standard')
|
|
op.drop_table('coding_standard')
|
|
op.drop_index(op.f('ix_activity_stream_uid'), table_name='activity_stream')
|
|
op.drop_table('activity_stream')
|
|
op.drop_index(op.f('ix_activity_feed_uid'), table_name='activity_feed')
|
|
op.drop_table('activity_feed')
|
|
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_user_preference_uid'), table_name='user_preference')
|
|
op.drop_table('user_preference')
|
|
op.drop_index(op.f('ix_user_auth_user_name'), table_name='user_auth')
|
|
op.drop_index(op.f('ix_user_auth_uid'), table_name='user_auth')
|
|
op.drop_table('user_auth')
|
|
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_id_sequence_uid'), table_name='id_sequence')
|
|
op.drop_table('id_sequence')
|
|
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_audit_log_uid'), table_name='audit_log')
|
|
op.drop_table('audit_log')
|
|
# ### end Alembic commands ###
|