
    |h)                         U d Z ddlmZmZ ddlmZ ddlZdZe	e
d<   dZee	ee	   df   e
d<   dZee	ee	   df   e
d<   dZee	ee	   df   e
d	<   dd
ZddZy)zdCreate initial database schema

Revision ID: 001
Revises: 
Create Date: 2025-09-12 17:29:12.386632

    )SequenceUnion)opN001revisiondown_revisionbranch_labels
depends_onc                  (   t        j                  dt        j                  dt        j                         d      t        j                  dt        j
                         d      t        j                  dt        j
                         d      t        j                  dt        j
                         d      t        j                  dt        j
                         d	      t        j                  d
t        j                  dddd      d	      t        j                  dt        j                  d	      t        j                  d      d	      t        j                  dt        j                  d	      d	      t        j                  dt        j                         d	      t        j                  dt        j                         d	      t        j                  dt        j
                         d	      t        j                  dt        j                         d	      t        j                  dt        j                         d	      t        j                  d             t        j                  t        j                  d      ddgd	       t        j                  t        j                  d      ddgd       t        j                  dt        j                  dt        j                         d      t        j                  dt        j
                         d      t        j                  dt        j                         d	      t        j                  dt        j                  d	      t        j                  d      d	      t        j                  d      t        j                  d             t        j                  t        j                  d       ddgd       t        j                  d!t        j                  dt        j                         d      t        j                  dt        j
                         d      t        j                  d"t        j
                         d      t        j                  d#t        j
                         d      t        j                  d$t        j                  d%d&d'      d      t        j                  d(t        j                         d	      t        j                  dt        j                  d	      t        j                  d      d	      t        j                  d      	       t        j                  t        j                  d)      d!dgd	       t        j                  t        j                  d*      d!dgd       t        j                  d+t        j                  dt        j                         d      t        j                  dt        j
                         d      t        j                  d,t        j
                         d      t        j                  d-t        j                         d      t        j                  d.t        j                  d/d0d1d2      d	      t        j                  d(t        j                         d	      t        j                  d3t        j                         d      t        j                  dt        j                  d	      t        j                  d      d	      t        j                  dt        j                  d	      d	      t        j                  d3gd4g      t        j                  d             t        j                  t        j                  d5      d+dgd       t        j                  d6t        j                  dt        j                         d      t        j                  d7t        j                         d      t        j                  d8t        j                         d	      t        j                  d,t        j
                         d      t        j                  d-t        j                         d      t        j                  d.t        j                  d/d0d1d2      d	      t        j                  d9t        j                  d	      t        j                  d      d	      t        j                  d:t        j                         d	      t        j                  d;t        j
                         d	      t        j                  d7gd<g      t        j                  d8gd4g      t        j                  d             t        j                  t        j                  d=      d6dgd       t        j                  d>t        j                  dt        j                         d      t        j                  d7t        j                         d      t        j                  d?t        j
                         d      t        j                  d@t        j
                         d      t        j                  dAt        j                  dBdCdDdEdF      d      t        j                  dGt        j                         d	      t        j                  dHt        j                  d	      t        j                  d      d	      t        j                  d7gd<g      t        j                  d      
       t        j                  t        j                  dI      d>dgd       t        j                  dJt        j                  dt        j                         d      t        j                  d7t        j                         d      t        j                  d8t        j                         d      t        j                  dKt        j                         d      t        j                  dLt        j                         d	      t        j                  dt        j                  d	      t        j                  d      d	      t        j                  d7gd<g      t        j                  d8gd4g      t        j                  d      
       t        j                  t        j                  dM      dJdgd       t        j                  dNt        j                  dt        j                         d      t        j                  dOt        j
                         d      t        j                  dt        j                         d	      t        j                  dPt        j                  dQdRdSdT      d	      t        j                  dt        j                  d	      t        j                  d      d	      t        j                  dt        j                  d	      d	      t        j                  dUt        j                         d      t        j                  dUgd4g      t        j                  d      
       t        j                  t        j                  dV      dNdgd       t        j                  dWt        j                  d7t        j                         d      t        j                  dXt        j                         d      t        j                  dPt        j                  dYdZd[d\d]d^      d	      t        j                  d_t        j                  d	      t        j                  d      d	      t        j                  dt        j                  d	      d	      t        j                  d`t        j                         d	      t        j                  dat        j                         d	      t        j                  d7gd<g      t        j                  dXgdbg      t        j                  d7dX             t        j                  dct        j                  dt        j                         d      t        j                  dXt        j                         d      t        j                  dt        j
                         d      t        j                  ddt        j                          d	      t        j                  det        j                         d	      t        j                  dt        j                  d	      t        j                  d      d	      t        j                  dXgdbg      t        j                  d      	       t        j                  t        j                  df      dcdgd       t        j                  dgt        j                  dXt        j                         d      t        j                  dht        j                         d      t        j                  dit        j                         d	      t        j                  dt        j                  d	      t        j                  d      d	      t        j                  dXgdbg      t        j                  dhgdjg      t        j                  dXdh             t        j                  dkt        j                  dt        j                         d      t        j                  d7t        j                         d      t        j                  dXt        j                         d      t        j                  dlt        j                          d	      t        j                  dmt        j                         d	      t        j                  dnt        j"                         d	      t        j                  dot        j
                         d	      t        j                  dpt        j                  d	      t        j                  d      d	      t        j                  d7dXgdqdrg      t        j                  d             t        j                  t        j                  ds      dkdgd       yt)uzUpgrade schema.
candidatesidF)nullable
first_name	last_nameemailphoneTstatus_overallACTIVEARCHIVEDBLACKLISTEDcandidatestatus)name
created_at)timezoneznow())server_defaultr   
updated_at
birth_dateaddressnationalityacademic_backgroundwork_experienceix_candidates_email)uniqueix_candidates_idsoft_skillsr   descriptionix_soft_skills_idusershashed_password	full_nameroleADMIN
UNIVERSITYuserrole	is_activeix_users_emailix_users_idcommunication_templatessubjectbodytypeEMAILSMSPLATFORMcommunicationtype
created_byzusers.idix_communication_templates_idcommunicationscandidate_iduser_idsent_atis_templatetemplate_namezcandidates.idix_communications_id	documents	file_name	file_pathdocument_typeCV
TRANSCRIPTCOVER_LETTEROTHERdocumenttype	file_sizeuploaded_atix_documents_idnotescontentis_importantix_notes_idprojectstitlestatusDRAFTOPENCLOSEDprojectstatusowner_idix_projects_idapplications
project_idNEW	IN_REVIEW	INTERVIEWREJECTEDADMITTEDapplicationstatus
applied_atmotivation_letteradditional_infozprojects.idcriteriaweightis_mandatoryix_criteria_idproject_soft_skillssoft_skill_idrequired_levelzsoft_skills.idai_assessmentsscoresummarydetailsmodel_versiongenerated_atzapplications.candidate_idzapplications.project_idix_ai_assessments_idN)r   create_tablesaColumnIntegerStringEnumDateTimetextTextPrimaryKeyConstraintcreate_indexfUniqueConstraintBooleanForeignKeyConstraintFloatJSON     /Users/theessential/Documents/Github/40Admission/40-admission-backend/migrations/versions/001_create_initial_database_schema.pyupgrader      s    OOLIIdBJJL51IIlBIIK%8IIk299;7IIgryy{U3IIgryy{T2II*mRc dostIIlBKK6rwwwGWbfgIIlBKK6FIIlBKKMD9IIiT2IImRYY[48II#RWWY>IIT:D!  OOBDD./yQUVOOBDD+,lTF5QOOMIIdBJJL51IIfbiikE2IImRWWY6IIlBKK6rwwwGWbfgD! OOBDD,-}tfUSOOGIIdBJJL51IIgryy{U3IIu=IIk299;7IIfbggg|*EPUVIIk2::<$7IIlBKK6rwwwGWbfgD!	 OOBDD)*GgYtLOOBDD'4&GOO-IIdBJJL51IIfbiikE2IIiu5IIfbggi%0IIfbggguj?RS^bcIIk2::<$7IIlBJJL59IIlBKK6rwwwGWbfgIIlBKK6F\NZL;D! OOBDD89;TW[V\ejkOO$IIdBJJL51IInbjjlU;IIi5IIiu5IIfbggi%0IIfbggguj?RS^bcIIid3BGGGDT_cdIImRZZ\D9IIoryy{T:^,.?BYK*8D! OOBDD/02BTFSXYOOKIIdBJJL51IInbjjlU;IIk299;7IIk299;7IIorwwt\>7YghsxyIIk2::<$7IImR[[$7PWHXcgh^,.?BD!
 OOBDD*+[4&OOOGIIdBJJL51IInbjjlU;IIi6IIiU3IInbjjlT:IIlBKK6rwwwGWbfg^,.?BYK*8D!
 OOBDD'4&GOOJIIdBJJL51IIgryy{U3IImRWWY6IIhP[_`IIlBKK6rwwwGWbfgIIlBKK6FIIj"**,7ZL:,9D!
 OOBDD)*JuMOONIInbjjlU;IIlBJJL59IIh{KZ^qr  ~B  CIIlBKK6rwwwGWbfgIIlBKK6FII!2779t<IIT:^,.?B\N]O>NL9 OOJIIdBJJL51IIlBJJL59IImRYY[59IIh
T2IInbjjlT:IIlBKK6rwwwGWbfg\N]O>D!	 OOBDD)*JuMOO)IIlBJJL59IIorzz|e<II

t<IIlBKK6rwwwGWbfg\N]O>_-0@/ADL/: OO$IIdBJJL51IInbjjlU;IIlBJJL59IIgrxxzD1IIiT2IIiT2IIoryy{T:IInbkk48QXIYdhi^\:=XZs<twD! OOBDD/02BTFSXYr   c                     t        j                  t        j                  d      d       t        j                  d       t        j                  d       t        j                  t        j                  d      d       t        j                  d       t        j                  d       t        j                  t        j                  d      d	       t        j                  d	       t        j                  t        j                  d
      d       t        j                  d       t        j                  t        j                  d      d       t        j                  d       t        j                  t        j                  d      d       t        j                  d       t        j                  t        j                  d      d       t        j                  d       t        j                  t        j                  d      d       t        j                  t        j                  d      d       t        j                  d       t        j                  t        j                  d      d       t        j                  d       t        j                  t        j                  d      d       t        j                  t        j                  d      d       t        j                  d       y)zDowngrade schema.rt   rn   )
table_namerk   rj   rg   r\   r[   rS   rR   rO   rN   rC   rB   r<   r;   r2   r1   r(   r0   r'   r%   r$   r   r"   N)r   
drop_indexr   
drop_tabler   r   r   	downgrader      s    MM"$$-.;KLMM"#MM'(MM"$$'(Z@MM*MM.!MM"$$'(Z@MM*MM"$$}%':MM'MM"$$()kBMM+MM"$$-.;KLMM"#MM"$$67D]^MM+,MM"$$}%':MM"$$'(W=MM'MM"$$*+FMM- MM"$$)*|DMM"$$,-,GMM,r   )returnN)__doc__typingr   r   alembicr   
sqlalchemyrv   r   str__annotations__r   r	   r
   r   r   r   r   r   <module>r      s|    #   # 15uS(3--. 515uS(3--. 5.2
E#x}d*+ 2WZv r   