
    df                     ^    d dl mZ d dlmZmZ d dlmZmZ d dlm	Z	m
Z
  G d de          ZdS )    )apps)BaseCommandCommandError)DEFAULT_DB_ALIASconnections)AmbiguityErrorMigrationLoaderc                   2     e Zd ZdZdZd Z fdZd Z xZS )Commandz2Prints the SQL statements for the named migration.Tc                     |                     dd           |                     dd           |                     dt          d           |                     d	d
d           d S )N	app_labelz6App label of the application containing the migration.)helpmigration_namez$Migration name to print the SQL for.z
--databasezKNominates a database to create SQL for. Defaults to the "default" database.)defaultr   z--backwards
store_truez=Creates SQL to unapply the migration, rather than to apply it)actionr   )add_argumentr   )selfparsers     fD:\Python Project\djangoTemplates\venv\Lib\site-packages\django/core/management/commands/sqlmigrate.pyadd_argumentszCommand.add_arguments   s    V 	 	
 	
 	
 	#I 	 	
 	
 	
 	$	 	 	
 	
 	
 	P 	 	
 	
 	
 	
 	
    c                 @    d|d<    t                      j        |i |S )NTno_color)superexecute)r   argsoptions	__class__s      r   r   zCommand.execute!   s*     #
uww0000r   c                    t           |d                  }t          |d          }|d         |d         }}	 t          j        |           n.# t          $ r!}t          t          |                    d }~ww xY w||j        vrt          d|z            	 |                    ||          }nC# t          $ r t          d|d|d	          t          $ r t          d
|d|d          w xY w||j        f}	|j        o|j        j        | _        |j        j        |	         |d         fg}
|                    |
          }|s&|d         dk    r| j                            d           d                    |          S )NdatabaseF)replace_migrationsr   r   z!App '%s' does not have migrationsz!More than one migration matches 'z
' in app 'z'. Please be more specific.z"Cannot find a migration matching 'z' from app 'z'. Is it in INSTALLED_APPS?	backwards	verbosity   zNo operations found.
)r   r	   r   get_app_configLookupErrorr   strmigrated_appsget_migration_by_prefixr   KeyErrornameatomicfeaturescan_rollback_ddloutput_transactiongraphnodescollect_sqlstderrwritejoin)r   r   r   
connectionloaderr   r   err	migrationtargetplansql_statementss               r   handlezCommand.handle(   s    !45
 !FFF %,K$8'BR:S>		)	**** 	) 	) 	)s3xx(((	)F000BYNOOO	66y.QQII 	 	 	,-~~yyy:    	 	 	,%3^^YYY@  	
 Y^,
 E!4!E 	 #F+W[-ABC++D11 	6'+"6!";";K4555yy(((s$   A 
A6A11A6B, ,A C,)	__name__
__module____qualname__r   r1   r   r   r?   __classcell__)r   s   @r   r   r      sa        ?D
 
 
*1 1 1 1 1+) +) +) +) +) +) +)r   r   N)django.appsr   django.core.management.baser   r   	django.dbr   r   django.db.migrations.loaderr   r	   r    r   r   <module>rI      s          A A A A A A A A 3 3 3 3 3 3 3 3 G G G G G G G GL) L) L) L) L)k L) L) L) L) L)r   