
    gY+                        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 jH                          e jJ                  dddd       e jJ                  dddd      ed                             Z&e&jO                         ed               Ze&jO                          e jJ                  dddd       e jJ                  ddd        e jJ                  d!d"dd#       e jJ                  d$dd%       ed&                                           Ze&jO                          e jJ                  dddd       e jJ                  d'd(dd)       e jJ                  d*dd+        e jJ                  d,dd-        e jJ                  d.d/d0       e jJ                  d1dd2        e jJ                  d3dd4       e jJ                  d5dd6       e jJ                  d7dd8      ed9                                                                              Z
e&jO                          e jJ                  dddd       e jJ                  d'd(dd)       e jJ                  d,dd-        e jJ                  d.d/d0       e jJ                  d1dd2        e jJ                  d3dd4       e jJ                  d5dd6       e jJ                  d7dd8       e jJ                  dddd      ed:                                                                              Ze&jO                          e jJ                  dddd       e jP                  d;d/<      ed=                             Ze&jO                          e jJ                  dddd       e jJ                  d'd(dd>       e jJ                  d3dd4       e jJ                  d7dd8       e jP                  d?d@A      edB                                                  Ze&jO                          e jJ                  dddd       e jJ                  d,dd-        e jJ                  dCddD       e jJ                  dddd       e jP                  d;d/<      edE                                                  Ze&jO                          e jJ                  dddd       e jJ                  d,dd-        e jJ                  dCddD       e jJ                  dddd       e jP                  d;dF<      edG                                                  Ze&jO                          e jJ                  dddd       e jP                  d;d/<      edH                             Ze&jO                          e jJ                  dddd       e jJ                  dIdJddK       e jJ                  dLdMddN        e jJ                  dOdPddQ       edR                                           Ze&jO                          e jJ                  dddd       e jJ                  dLdMddN        e jJ                  dSddT       edU                                    Ze&jO                          e jJ                  dddd       e jJ                  dLdMddN       edV                             Ze&jO                          e jJ                  dddd       e jJ                  dLdMddN       edW                             Ze&jO                          e jJ                  dddd       e jJ                  d,dd-        e jJ                  dCddD       e jJ                  dXddY        e jP                  d;d/<      edZ                                                  Z e&jO                          e jJ                  dddd      ed[                      Z"y)\    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                 0    | t         _        |t         _        y)zPerform database migrations.N)r   	directoryx_arg)r   r   s     P/var/www/html/AdoubleTech/venv/lib/python3.12/site-packages/flask_migrate/cli.pydbr      s     AKAG    c                      t                y)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                 D    t        | xs t        j                  |||       y)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	                 N    t        | xs t        j                  ||||||||	       y)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	                 r    t        | xs t        j                  ||||||||xs t        j                  	       y)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   s2    4 Y%!++wT6<1A!''Cr   r   )r   c                 @    t        | xs t        j                  |       y)zEdit a revision fileN)_editr   r   r   r   s     r   r	   r	   t        
)
"q{{H-r   zMerge revision message	revisions)nargsc                 F    t        | xs t        j                  ||||       y)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Nr   z--tagz;Arbitrary "tag" name - can be used by custom env.py scriptsc                 j    t        | xs t        j                  ||||xs t        j                         y)zUpgrade to a later versionN)_upgrader   r   r   r   r+   tagr   r   s        r   r   r      s&     Y%!++xc5;KAGGLr   z-1c                 j    t        | xs t        j                  ||||xs t        j                         y)zRevert to a previous versionN)
_downgrader   r   r   r=   s        r   r   r      s&     y'AKK3U=MaggNr   c                 @    t        | xs t        j                  |       y)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                 D    t        | xs t        j                  |||       y)z.List changeset scripts in chronological order.N)_historyr   r   )r   	rev_rangeverboseindicate_currents       r   r   r      s     Y%!++y';KLr   z--resolve-dependenciesz+Treat dependency versions as down revisionsc                 B    t        | xs t        j                  ||       y)z4Show current available heads in the script directoryN)_headsr   r   )r   rF   resolve_dependenciess      r   r   r      s     9#W.BCr   c                 @    t        | xs t        j                  |       y)zShow current branch pointsN)	_branchesr   r   r   rF   s     r   r   r      s     i&1;;0r   c                 @    t        | xs t        j                  |       y)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                 F    t        | xs t        j                  ||||       y)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        | xs t        j                         y)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 ' - ) / - ) ) dM4JMdIKM MM    
 dM4JMk403dL$EHk4(* @ *H3M @
 dM4JMdK4FGKM gt  h"$ j$LOILHKj$ : KLO$ M HM .: dM4JMdK4FGgt  h"$ j$LOILHKj$ dIKMC MKLO$  HM ,C dM4JM
F+.  ,M 
.
 dM4JMdK4LMILj$ 2&O  'L NM O
 dM4JMgt  gt  dIKM
F+M  ,M  M M
 dM4JMgt  gt  dIKM
D)O  *M  M O
 dM4JM
F+.  ,M 
.
 dM4JMdM4FHdK4MNd($ " M " OHM M
 dM4JMdK4MN&@BD B OM D
 dM4JMdK4MN1  OM 
1
 dM4JMdK4MN0  OM 
0
 dM4JMgt  gt  i! 
F+@  ,!  M @ dM4JM% M %r   