
    ZeIiY+                     V   d dl Z d dlmZ d dlmZ d dlmZ d dlmZ	 d dlm
Z d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlm Z! d dlm"Z#  e j$                     e j%        dddd           e j%        dddd          ed                                                 Z&e&'                                ed                         Ze&'                                 e j%        dddd           e j%        ddd            e j%        d!d"dd#           e j%        d$dd%           ed&                                                                         Ze&'                                 e j%        dddd           e j%        d'd(dd)           e j%        d*dd+            e j%        d,dd-            e j%        d.d/d0           e j%        d1dd2            e j%        d3dd4           e j%        d5dd6           e j%        d7dd8          ed9                                                                                                                                     Z
e&'                                 e j%        dddd           e j%        d'd(dd)           e j%        d,dd-            e j%        d.d/d0           e j%        d1dd2            e j%        d3dd4           e j%        d5dd6           e j%        d7dd8           e j%        dddd          ed:                                                                                                                                     Ze&'                                 e j%        dddd           e j(        d;d/<          ed=                                                 Ze&'                                 e j%        dddd           e j%        d'd(dd>           e j%        d3dd4           e j%        d7dd8           e j(        d?d@A          edB                                                                                     Ze&'                                 e j%        dddd           e j%        d,dd-            e j%        dCddD           e j%        dddd           e j(        d;d/<          edE                                                                                     Ze&'                                 e j%        dddd           e j%        d,dd-            e j%        dCddD           e j%        dddd           e j(        d;dF<          edG                                                                                     Ze&'                                 e j%        dddd           e j(        d;d/<          edH                                                 Ze&'                                 e j%        dddd           e j%        dIdJddK           e j%        dLdMddN            e j%        dOdPddQ           edR                                                                         Ze&'                                 e j%        dddd           e j%        dLdMddN            e j%        dSddT           edU                                                             Ze&'                                 e j%        dddd           e j%        dLdMddN           edV                                                 Ze&'                                 e j%        dddd           e j%        dLdMddN           edW                                                 Ze&'                                 e j%        dddd           e j%        d,dd-            e j%        dCddD           e j%        dXddY            e j(        d;d/<          edZ                                                                                     Z e&'                                 e j%        dddd          ed[                                     Z"dS )\    N)g)with_appcontext)list_templates)init)revision)migrate)edit)merge)upgrade)	downgrade)show)history)heads)branches)current)stamp)checkz-dz--directoryz4Migration script directory (default is "migrations"))defaulthelpz-xz--x-argTz6Additional arguments consumed by custom env.py scripts)multipler   c                 6    | t           _        |t           _        dS )zPerform database migrations.N)r   	directoryx_arg)r   r   s     V/var/www/html/MCyber-Diagnostic/venv/lib/python3.11/site-packages/flask_migrate/cli.pydbr      s     AKAGGG    c                  "    t                       dS )zList available templates.N)_list_templates r   r   r   r   !   s     r   z	--multidbzSupport multiple databases)is_flagr   z-tz
--templatez/Repository template to use (default is "flask")z	--packagezFWrite empty __init__.py files to the environment and version locationsc                 B    t          | pt          j        |||           dS )z#Creates a new migration repository.N)_initr   r   )r   multidbtemplatepackages       r   r   r   (   s%     
)
"q{GXw?????r   z-mz	--messagezRevision messagez--autogeneratezfPopulate revision script with candidate migration operations, based on comparison of database to modelz--sqlz<Don't emit SQL to database - dump to standard output insteadz--headheadzBSpecify head revision or <branchname>@head to base new revision onz--splicez6Allow a non-head revision as the "head" to splice ontoz--branch-labelz3Specify a branch label to apply to the new revisionz--version-pathz2Specify specific path from config for version filez--rev-idz9Specify a hardcoded revision id instead of generating onec	                 L    t          | pt          j        ||||||||	  	         dS )zCreate a new revision file.N)	_revisionr   r   )	r   messageautogeneratesqlr&   splicebranch_labelversion_pathrev_ids	            r   r   r   8   s:    4 i&1;sDlL&: : : : :r   c	                 d    t          | pt          j        ||||||||pt          j        	  	         dS )zJAutogenerate a new revision file (Alias for
    'revision --autogenerate')N)_migrater   r   r   )	r   r)   r+   r&   r,   r-   r.   r/   r   s	            r   r   r   V   sF    4 Y%!+wT6<1A!'C C C C Cr   r   )r   c                 >    t          | pt          j        |           dS )zEdit a revision fileN)_editr   r   r   r   s     r   r	   r	   t   !     
)
"q{H-----r   zMerge revision message	revisions)nargsc                 D    t          | pt          j        ||||           dS )z:Merge two revisions together, creating a new revision fileN)_merger   r   )r   r)   r-   r/   r6   s        r   r
   r
   ~   s'     9#YvNNNNNr   z--tagz;Arbitrary "tag" name - can be used by custom env.py scriptsc                 \    t          | pt          j        ||||pt          j                   dS )zUpgrade to a later versionN)_upgrader   r   r   r   r+   tagr   r   s        r   r   r      s.     Y%!+xc5;KAGLLLLLr   z-1c                 \    t          | pt          j        ||||pt          j                   dS )zRevert to a previous versionN)
_downgrader   r   r   r=   s        r   r   r      s.     y'AK3U=MagNNNNNr   c                 >    t          | pt          j        |           dS )z.Show the revision denoted by the given symbol.N)_showr   r   r4   s     r   r   r      r5   r   z-rz--rev-rangez1Specify a revision range; format is [start]:[end]z-vz	--verbosezUse more verbose outputz-iz--indicate-currentz?Indicate current version (Alembic 0.9.9 or greater is required)c                 B    t          | pt          j        |||           dS )z.List changeset scripts in chronological order.N)_historyr   r   )r   	rev_rangeverboseindicate_currents       r   r   r      s&     Y%!+y';KLLLLLr   z--resolve-dependenciesz+Treat dependency versions as down revisionsc                 @    t          | pt          j        ||           dS )z4Show current available heads in the script directoryN)_headsr   r   )r   rF   resolve_dependenciess      r   r   r      s$     9#W.BCCCCCr   c                 >    t          | pt          j        |           dS )zShow current branch pointsN)	_branchesr   r   r   rF   s     r   r   r      s!     i&1;00000r   c                 >    t          | pt          j        |           dS )z/Display the current revision for each database.N)_currentr   r   rM   s     r   r   r      s!     Y%!+w/////r   z--purgez?Delete the version in the alembic_version table before stampingc                 D    t          | pt          j        ||||           dS )zP'stamp' the revision table with the given revision; don't run any
    migrationsN)_stampr   r   )r   r+   r>   r   purges        r   r   r      s'    " 9#XsC?????r   c                 <    t          | pt          j                   dS )z0Check if there are any new operations to migrateN)_checkr   r   )r   s    r   r   r      s     9#$$$$$r   ))clickflaskr   	flask.clir   flask_migrater   r   r   r"   r   r(   r   r1   r	   r3   r
   r:   r   r<   r   r@   r   rB   r   rD   r   rI   r   rL   r   rO   r   rQ   r   rT   groupoptionr   commandargumentr   r   r   <module>r]      s           % % % % % % ; ; ; ; ; ; ' ' ' ' ' ' / / / / / / - - - - - - ' ' ' ' ' ' ) ) ) ) ) ) - - - - - - 1 1 1 1 1 1 ' ' ' ' ' ' - - - - - - ) ) ) ) ) ) / / / / / / - - - - - - ) ) ) ) ) ) ) ) ) ) ) ) dM4JM M MdIKM M M  M MM M     
 dM4JM M Mk403 3 3dL$EH H Hk4(* * * @ @ * *H H3 3M M @
 dM4JM M MdK4FGGGKM M M gt      h"$ $ $ j$LO O OIL L LHK K Kj$   : :  K KL LO O$ $   M M HGM M .: dM4JM M MdK4FGGGgt      h"$ $ $ j$LO O OIL L LHK K Kj$   dIKM M MC C M M K KL LO O$ $    HGM M ,C dM4JM M M
F+++. .  ,+M M 
.
 dM4JM M MdK4LMMMIL L Lj$   2&&&O O  '& L L NMM M O
 dM4JM M Mgt      gt      dIKM M M
F+++M M  ,+M M      M M M
 dM4JM M Mgt      gt      dIKM M M
D)))O O  *)M M      M M O
 dM4JM M M
F+++. .  ,+M M 
.
 dM4JM M MdM4FH H HdK4MNNNd($ " " " M M " " ONH HM M M
 dM4JM M MdK4MNNN&@B B BD D B B ONM M D
 dM4JM M MdK4MNNN1 1  ONM M 
1
 dM4JM M MdK4MNNN0 0  ONM M 
0
 dM4JM M Mgt      gt      i! ! ! 
F+++@ @  ,+! !      M M @ dM4JM M M% % M M % % %r   