
    +h:(                        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!  e jD                         d        Z#e#jI                         ed               Ze#jI                          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#jI                          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*d+       e jJ                  d,dd-       e jJ                  d.dd/       e jJ                  d0dd1       e jJ                  d2dd3      ed4                                                                              Ze#jI                          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d-       e jJ                  d.dd/       e jJ                  d0dd1       e jJ                  d2dd3       e jJ                  d5d6dd78      ed9                                                                              Z
e#jI                          e jJ                  dddd       e jL                  d:d*;      ed<                             Ze#jI                          e jJ                  dddd       e jJ                  d"d#dd=       e jJ                  d.dd/       e jJ                  d2dd3       e jL                  d>d?@      edA                                                  Ze#jI                          e jJ                  dddd       e jJ                  d'dd(       e jJ                  dBddC       e jJ                  d5d6dd78       e jL                  d:d*;      edD                                                  Ze#jI                          e jJ                  dddd       e jJ                  d'dd(       e jJ                  dBddC       e jJ                  d5d6dd78       e jL                  d:dE;      edF                                                  Ze#jI                          e jJ                  dddd       e jL                  d:d*;      edG                             Ze#jI                          e jJ                  dddd       e jJ                  dHdIddJ       e jJ                  dKdLddM       e jJ                  dNdOddP      edQ                                           Ze#jI                          e jJ                  dddd       e jJ                  dKdLddM       e jJ                  dRddS      edT                                    Ze#jI                          e jJ                  dddd       e jJ                  dKdLddM      edU                             Ze#jI                          e jJ                  dddd       e jJ                  dKdLddM      edV                             Ze#jI                          e jJ                  dddd       e jJ                  d'dd(       e jJ                  dBddC       e jL                  d:d*;      edW                                           Ze#jI                          e jJ                  dddd      edX                      Z y)Y    N)with_appcontext)list_templates)init)revision)migrate)edit)merge)upgrade)	downgrade)show)history)heads)branches)current)stamp)checkc                       y)zPerform database migrations.N r       D/var/www/html/venv/lib/python3.12/site-packages/flask_migrate/cli.pydbr      s     	r   c                      t                y)zList available templates.N)_list_templatesr   r   r   r   r      s
     r   z-dz--directoryz4Migration script directory (default is "migrations"))defaulthelpz	--multidbTz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                      t        | |||       y)z#Creates a new migration repository.N)_init)	directorymultidbtemplatepackages       r   r   r   !   s     
)Wh0r   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	                 *    t        | ||||||||	       y)zCreate a new revision file.N)	_revision)	r   messageautogeneratesqlr#   splicebranch_labelversion_pathrev_ids	            r   r   r   1   s    4 i,T6L&2r   z-xz--x-argz6Additional arguments consumed by custom env.py scripts)multipler   c	                 *    t        | ||||||||	       y)zJAutogenerate a new revision file (Alias for
    'revision --autogenerate')N)_migrate)	r   r&   r(   r#   r)   r*   r+   r,   x_args	            r   r   r   O   s    4 YdFL,Ur   r   )r   c                     t        | |       y)zEdit a revision fileN)_editr   r   s     r   r   r   m        
)Xr   zMerge revision message	revisions)nargsc                 "    t        | ||||       y)z:Merge two revisions together, creating a new revision fileN)_merge)r   r&   r*   r,   r5   s        r   r	   r	   w   s     9i,?r   z--tagz;Arbitrary "tag" name - can be used by custom env.py scriptsc                 "    t        | ||||       y)zUpgrade to a later versionN)_upgrader   r(   tagr0   r   s        r   r
   r
      s     Y#sE2r   z-1c                 "    t        | ||||       y)zRevert to a previous versionN)
_downgrader<   s        r   r   r      s     y(Ce4r   c                     t        | |       y)z.Show the revision denoted by the given symbol.N)_showr3   s     r   r   r      r4   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                      t        | |||       y)z.List changeset scripts in chronological order.N)_history)r   	rev_rangeverboseindicate_currents       r   r   r      s     Y	7,<=r   z--resolve-dependenciesz+Treat dependency versions as down revisionsc                     t        | ||       y)z4Show current available heads in the script directoryN)_heads)r   rE   resolve_dependenciess      r   r   r      s     9g34r   c                     t        | |       y)zShow current branch pointsN)	_branchesr   rE   s     r   r   r      s     i!r   c                     t        | |       y)z/Display the current revision for each database.N)_currentrL   s     r   r   r      s     Y r   c                      t        | |||       y)zP'stamp' the revision table with the given revision; don't run any
    migrationsN)_stamp)r   r(   r=   r   s       r   r   r      s     9hS)r   c                     t        |        y)z0Check if there are any new operations to migrateN)_check)r   s    r   r   r      s     9r   )'click	flask.clir   flask_migrater   r   r   r   r   r%   r   r/   r   r2   r	   r9   r
   r;   r   r?   r   rA   r   rC   r   rH   r   rK   r   rN   r   rP   r   rR   groupr   commandoptionargumentr   r   r   <module>rZ      s    % ; ' / - ' ) - 1 ' - ) / - ) ) 	 	
   
 dM4JMk403dL$EHk4(* 1 *H3M 1
 dM4JMdK4FGKM gt  h"$ j$LOILHKj$ 2 KLO$ M HM .2 dM4JMdK4FGgt  h"$ j$LOILHKj$ dIKM MKLO$  HM , dM4JM
F+  ,M 

 dM4JMdK4LMILj$ 2&@  'L NM @
 dM4JMgt  gt  dIKM
F+3  ,M  M 3
 dM4JMgt  gt  dIKM
D)5  *M  M 5
 dM4JM
F+  ,M 

 dM4JMdM4FHdK4MNd($ " > " OHM >
 dM4JMdK4MN&@B5 B OM 5
 dM4JMdK4MN"  OM 
"
 dM4JMdK4MN!  OM 
!
 dM4JMgt  gt  
F+*  ,  M * dM4JM M r   