"""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 ###