o
    ‹ågY+  ã                   @   s  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  $¡ e j%ddddd�e j%ddddd�edd„ ƒƒƒƒZ&e& '¡ edd„ ƒƒZe& '¡ e j%ddddd�e j%d dd!d"�e j%d#d$dd%d�e j%d&dd'd"�ed(d)„ ƒƒƒƒƒƒZe& '¡ e j%ddddd�e j%d*d+dd,d�e j%d-dd.d"�e j%d/dd0d"�e j%d1d2d3d�e j%d4dd5d"�e j%d6dd7d�e j%d8dd9d�e j%d:dd;d�ed<d=„ ƒƒƒƒƒƒƒƒƒƒƒZ
e& '¡ e j%ddddd�e j%d*d+dd,d�e j%d/dd0d"�e j%d1d2d3d�e j%d4dd5d"�e j%d6dd7d�e j%d8dd9d�e j%d:dd;d�e j%ddddd�ed>d?„ ƒƒƒƒƒƒƒƒƒƒƒZe& '¡ e j%ddddd�e j(d=d2d@�edAdB„ ƒƒƒƒZe& '¡ e j%ddddd�e j%d*d+ddCd�e j%d6dd7d�e j%d:dd;d�e j(dDdEdF�edGdH„ ƒƒƒƒƒƒƒZe& '¡ e j%ddddd�e j%d/dd0d"�e j%dIddJd�e j%ddddd�e j(d=d2d@�edKdL„ ƒƒƒƒƒƒƒZe& '¡ e j%ddddd�e j%d/dd0d"�e j%dIddJd�e j%ddddd�e j(d=dMd@�edNdO„ ƒƒƒƒƒƒƒZe& '¡ e j%ddddd�e j(d=d2d@�edPdQ„ ƒƒƒƒZe& '¡ e j%ddddd�e j%dRdSddTd�e j%dUdVddWd"�e j%dXdYddZd"�ed[d\„ ƒƒƒƒƒƒZe& '¡ e j%ddddd�e j%dUdVddWd"�e j%d]dd^d"�ed_d`„ ƒƒƒƒƒZe& '¡ e j%ddddd�e j%dUdVddWd"�edadb„ ƒƒƒƒZe& '¡ e j%ddddd�e j%dUdVddWd"�edcdd„ ƒƒƒƒZe& '¡ e j%ddddd�e j%d/dd0d"�e j%dIddJd�e j%deddfd"�e j(d=d2d@�edgdh„ ƒƒƒƒƒƒƒZ e& '¡ e j%ddddd�edidj„ ƒƒƒZ"dS )ké    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                 C   s   | t _|t _dS )zPerform database migrations.N)r   Ú	directoryÚx_arg)r   r   © r   úM/var/www/html/flaskapp/venv/lib/python3.10/site-packages/flask_migrate/cli.pyÚdb   s   
r   c                   C   s
   t ƒ  dS )zList available templates.N)Ú_list_templatesr   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                 C   ó   t | ptj|||ƒ dS )z#Creates a new migration repository.N)Ú_initr   r   )r   ÚmultidbÚtemplateÚpackager   r   r   r   (   s   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	           	   
   C   s"   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_idr   r   r   r   8   s   ÿr   c	           	   
   C   s(   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   r   r   r   r   V   s   ÿr   )r   c                 C   ó   t | ptj|ƒ dS )zEdit a revision fileN)Ú_editr   r   ©r   r   r   r   r   r   t   ó   r   zMerge revision messageÚ	revisionséÿÿÿÿ)Únargsc                 C   s   t | ptj||||ƒ dS )z:Merge two revisions together, creating a new revision fileN)Ú_merger   r   )r   r$   r(   r*   r0   r   r   r   r	   ~   s   r	   z--tagz;Arbitrary "tag" name - can be used by custom env.py scriptsc                 C   ó    t | ptj||||ptjƒ dS )zUpgrade to a later versionN)Ú_upgrader   r   r   ©r   r&   Útagr   r   r   r   r   r
   Ž   ó    r
   z-1c                 C   r4   )zRevert to a previous versionN)Ú
_downgrader   r   r   r6   r   r   r   r       r8   r   c                 C   r,   )z.Show the revision denoted by the given symbol.N)Ú_showr   r   r.   r   r   r   r   ²   r/   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                 C   r   )z.List changeset scripts in chronological order.N)Ú_historyr   r   )r   Ú	rev_rangeÚverboseÚindicate_currentr   r   r   r   ¼   s   r   z--resolve-dependenciesz+Treat dependency versions as down revisionsc                 C   s   t | ptj||ƒ dS )z4Show current available heads in the script directoryN)Ú_headsr   r   )r   r=   Úresolve_dependenciesr   r   r   r   Ë   s   	r   c                 C   r,   )zShow current branch pointsN)Ú	_branchesr   r   ©r   r=   r   r   r   r   ×   r/   r   c                 C   r,   )z/Display the current revision for each database.N)Ú_currentr   r   rB   r   r   r   r   á   r/   r   z--purgez?Delete the version in the alembic_version table before stampingc                 C   s   t | ptj||||ƒ dS )zP'stamp' the revision table with the given revision; don't run any
    migrationsN)Ú_stampr   r   )r   r&   r7   r   Úpurger   r   r   r   ë   s   r   c                 C   s   t | ptjƒ dS )z0Check if there are any new operations to migrateN)Ú_checkr   r   )r   r   r   r   r   ÿ   s   r   ))ÚclickÚflaskr   Ú	flask.clir   Úflask_migrater   r   r   r   r   r#   r   r+   r   r-   r	   r3   r
   r5   r   r9   r   r:   r   r;   r   r?   r   rA   r   rC   r   rD   r   rF   ÚgroupÚoptionr   ÚcommandÚargumentr   r   r   r   Ú<module>   s¸   
ÿ
ÿ
ÿÿ
ÿÿ
ÿÿÿÿÿÿÿÿ
ÿÿÿÿÿÿÿ
ÿ
ÿ
ÿÿÿ
ÿÿÿ
ÿ
ÿÿÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿÿ
ÿ
ÿ
ÿÿÿÿ
ÿ