111 lines
5.4 KiB
Python
111 lines
5.4 KiB
Python
"""updated clinic
|
|
|
|
Revision ID: 928001a9d80f
|
|
Revises:
|
|
Create Date: 2025-05-12 14:19:15.351582
|
|
|
|
"""
|
|
from typing import Sequence, Union
|
|
|
|
from alembic import op
|
|
import sqlalchemy as sa
|
|
|
|
|
|
# revision identifiers, used by Alembic.
|
|
revision: str = '928001a9d80f'
|
|
down_revision: Union[str, None] = None
|
|
branch_labels: Union[str, Sequence[str], None] = None
|
|
depends_on: Union[str, Sequence[str], None] = None
|
|
|
|
|
|
def upgrade() -> None:
|
|
"""Upgrade schema."""
|
|
# ### commands auto generated by Alembic - please adjust! ###
|
|
op.add_column('appointments', sa.Column('deleted_at', sa.DateTime(timezone=True), nullable=True))
|
|
op.add_column('calenders', sa.Column('deleted_at', sa.DateTime(timezone=True), nullable=True))
|
|
op.add_column('clinics', sa.Column('emergency_phone', sa.String(), nullable=True))
|
|
op.add_column('clinics', sa.Column('fax', sa.String(), nullable=True))
|
|
# Create the integration enum type first
|
|
integration_type = sa.Enum('BP', 'MEDICAL_DIRECTOR', name='integration')
|
|
integration_type.create(op.get_bind())
|
|
op.add_column('clinics', sa.Column('integration', integration_type, nullable=True))
|
|
op.add_column('clinics', sa.Column('pms_id', sa.String(), nullable=True))
|
|
op.add_column('clinics', sa.Column('practice_name', sa.String(), nullable=True))
|
|
op.add_column('clinics', sa.Column('logo', sa.String(), nullable=True))
|
|
op.add_column('clinics', sa.Column('country', sa.String(), nullable=True))
|
|
op.add_column('clinics', sa.Column('postal_code', sa.String(), nullable=True))
|
|
op.add_column('clinics', sa.Column('city', sa.String(), nullable=True))
|
|
op.add_column('clinics', sa.Column('state', sa.String(), nullable=True))
|
|
op.add_column('clinics', sa.Column('abn_doc', sa.String(), nullable=True))
|
|
op.add_column('clinics', sa.Column('abn_number', sa.String(), nullable=True))
|
|
op.add_column('clinics', sa.Column('contract_doc', sa.String(), nullable=True))
|
|
op.add_column('clinics', sa.Column('clinic_phone', sa.String(), nullable=True))
|
|
op.add_column('clinics', sa.Column('is_clinic_phone_enabled', sa.Boolean(), nullable=True))
|
|
op.add_column('clinics', sa.Column('other_info', sa.String(), nullable=True))
|
|
op.add_column('clinics', sa.Column('greeting_msg', sa.String(), nullable=True))
|
|
op.add_column('clinics', sa.Column('voice_model', sa.String(), nullable=True))
|
|
op.add_column('clinics', sa.Column('voice_model_provider', sa.String(), nullable=True))
|
|
op.add_column('clinics', sa.Column('voice_model_gender', sa.String(), nullable=True))
|
|
op.add_column('clinics', sa.Column('scenarios', sa.String(), nullable=True))
|
|
op.add_column('clinics', sa.Column('general_info', sa.String(), nullable=True))
|
|
# Create the clinicstatus enum type first
|
|
clinic_status_type = sa.Enum('ACTIVE', 'INACTIVE', 'UNDER_REVIEW', 'REQUESTED_DOCTOR', 'REJECTED', 'PAYMENT_DUE', name='clinicstatus')
|
|
clinic_status_type.create(op.get_bind())
|
|
op.add_column('clinics', sa.Column('status', clinic_status_type, nullable=True))
|
|
op.add_column('clinics', sa.Column('domain', sa.String(), nullable=True))
|
|
op.add_column('clinics', sa.Column('deleted_at', sa.DateTime(timezone=True), nullable=True))
|
|
op.create_unique_constraint(None, 'clinics', ['emergency_phone'])
|
|
op.add_column('doctors', sa.Column('deleted_at', sa.DateTime(timezone=True), nullable=True))
|
|
op.add_column('patients', sa.Column('deleted_at', sa.DateTime(timezone=True), nullable=True))
|
|
op.add_column('users', sa.Column('profile_pic', sa.String(), nullable=True))
|
|
op.add_column('users', sa.Column('deleted_at', sa.DateTime(timezone=True), nullable=True))
|
|
# ### end Alembic commands ###
|
|
|
|
|
|
def downgrade() -> None:
|
|
"""Downgrade schema."""
|
|
# ### commands auto generated by Alembic - please adjust! ###
|
|
op.drop_column('users', 'deleted_at')
|
|
op.drop_column('users', 'profile_pic')
|
|
op.drop_column('patients', 'deleted_at')
|
|
op.drop_column('doctors', 'deleted_at')
|
|
op.drop_constraint(None, 'clinics', type_='unique')
|
|
op.drop_column('clinics', 'deleted_at')
|
|
op.drop_column('clinics', 'domain')
|
|
|
|
# Drop the status column first
|
|
op.drop_column('clinics', 'status')
|
|
# Then drop the enum type
|
|
sa.Enum(name='clinicstatus').drop(op.get_bind())
|
|
|
|
op.drop_column('clinics', 'general_info')
|
|
op.drop_column('clinics', 'scenarios')
|
|
op.drop_column('clinics', 'voice_model_gender')
|
|
op.drop_column('clinics', 'voice_model_provider')
|
|
op.drop_column('clinics', 'voice_model')
|
|
op.drop_column('clinics', 'greeting_msg')
|
|
op.drop_column('clinics', 'other_info')
|
|
op.drop_column('clinics', 'is_clinic_phone_enabled')
|
|
op.drop_column('clinics', 'clinic_phone')
|
|
op.drop_column('clinics', 'contract_doc')
|
|
op.drop_column('clinics', 'abn_number')
|
|
op.drop_column('clinics', 'abn_doc')
|
|
op.drop_column('clinics', 'state')
|
|
op.drop_column('clinics', 'city')
|
|
op.drop_column('clinics', 'postal_code')
|
|
op.drop_column('clinics', 'country')
|
|
op.drop_column('clinics', 'logo')
|
|
op.drop_column('clinics', 'practice_name')
|
|
op.drop_column('clinics', 'pms_id')
|
|
|
|
# Drop the integration column first
|
|
op.drop_column('clinics', 'integration')
|
|
# Then drop the enum type
|
|
sa.Enum(name='integration').drop(op.get_bind())
|
|
|
|
op.drop_column('clinics', 'fax')
|
|
op.drop_column('clinics', 'emergency_phone')
|
|
op.drop_column('calenders', 'deleted_at')
|
|
op.drop_column('appointments', 'deleted_at')
|
|
# ### end Alembic commands ###
|