+
    S<ÂjÒ&  ã                   óH   € ^ RI Ht ^ RIHtHtHt ^ RIHt  ! R R]4      tR# )é    )ÚBaseDatabaseSchemaEditor)ÚNOT_PROVIDEDÚFÚUniqueConstraint)Ú
LOOKUP_SEPc                   ó.  a a€ ] tR t^t oRtRtRtRtRtRt	Rt
RtR	tR
tRtRtRtRtRt]R 4       tR tR tR tR tR tV 3R ltV 3R ltV 3R ltV 3R ltV 3R ltRR/R ltV 3R lt R t!V 3R lt"V 3R  lt#V 3R! lt$R" t%V 3R# lt&V 3R$ lt'R%t(Vt)V ;t*# )&ÚDatabaseSchemaEditorz+RENAME TABLE %(old_table)s TO %(new_table)szMODIFY %(column)s %(type)s NULLz#MODIFY %(column)s %(type)s NOT NULLz2MODIFY %(column)s %(type)s%(collation)s%(comment)sz(ALTER COLUMN %(column)s SET DEFAULT NULLz)ALTER TABLE %(table)s DROP INDEX %(name)szi, ADD CONSTRAINT %(name)s FOREIGN KEY (%(column)s) REFERENCES %(to_table)s(%(to_column)s)%(on_delete_db)sz/ALTER TABLE %(table)s DROP FOREIGN KEY %(name)sz DROP INDEX %(name)s ON %(table)sz?ALTER TABLE %(table)s RENAME INDEX %(old_name)s TO %(new_name)szGALTER TABLE %(table)s ADD CONSTRAINT %(name)s PRIMARY KEY (%(columns)s)z&ALTER TABLE %(table)s DROP PRIMARY KEYz9CREATE INDEX %(name)s ON %(table)s (%(columns)s)%(extra)sz+ALTER TABLE %(table)s COMMENT = %(comment)sNc                óB   € V P                   P                  '       d   R # R# )z8ALTER TABLE %(table)s DROP CONSTRAINT IF EXISTS %(name)sz)ALTER TABLE %(table)s DROP CHECK %(name)s)Ú
connectionÚmysql_is_mariadb)Úselfs   &Ú_/var/www/html/data_capital/venv/lib/python3.14/site-packages/django/db/backends/mysql/schema.pyÚsql_delete_checkÚ%DatabaseSchemaEditor.sql_delete_check"   s   € à�?‰?×+×+Ð+ñ NÙ:ó    c                ó8  € V P                   P                  4        V P                   P                   P                  WP                   P                   P                  4      p\	        V\
        4      '       d'   \	        V\        4      '       d   VP                  4       pV# ©N)r   Úensure_connectionÚescapeÚencodersÚ
isinstanceÚstrÚbytesÚdecode)r   ÚvalueÚquoteds   && r   Úquote_valueÚ DatabaseSchemaEditor.quote_value+   sj   € Ø�‰×)Ñ)Ô+à—‘×+Ñ+×2Ñ2Ø—?‘?×-Ñ-×6Ñ6ó
ˆô �eœS×!Ò!¤j°¼×&?Ò&?Ø—]‘]“_ˆFØˆr   c                óž   € VP                  V P                  4      pVR J;'       d(    VP                  4       V P                  P                  9   # r   )Údb_typer   ÚlowerÚ_limited_data_types©r   Úfieldr    s   && r   Ú_is_limited_data_typeÚ*DatabaseSchemaEditor._is_limited_data_type5   sE   € Ø—-‘- §¡Ó0ˆà˜4Ð÷ Gð GØ—‘“ 4§?¡?×#FÑ#FÑFð	
r   c                óŠ   € VP                  V P                  4      pT;'       d     VP                  4       P                  R4      # )Úblob)r(   Útext)r    r   r!   Úendswithr#   s   && r   Ú_is_text_or_blobÚ%DatabaseSchemaEditor._is_text_or_blob<   s4   € Ø—-‘- §¡Ó0ˆØ×EÐE˜7Ÿ=™=›?×3Ñ3Ð4DÓEÐEr   c                óp   € V P                  V4      R9   pV'       d   V P                  V4      '       d   R# R# )Ú TF)r.   r   )Úeffective_defaultr+   )r   r$   Údefault_is_emptys   && r   Úskip_defaultÚ!DatabaseSchemaEditor.skip_default@   s1   € Ø×1Ñ1°%Ó8¸IÑEÐß × 5Ñ 5°e× <Ò <ÙÙr   c                ó¢   € V P                  V4      '       d   R # V P                  V4      '       d   V P                  P                  '       g   R # R# )TF)r1   r%   r   r   )r   r$   s   &&r   Úskip_default_on_alterÚ*DatabaseSchemaEditor.skip_default_on_alterF   s>   € Ø×Ñ˜U×#Ò#ÙØ×%Ñ% e×,Ò,°T·_±_×5U×5UÐ5Uñ Ùr   c                óŒ   <€ V P                   P                  '       g   V P                  V4      '       d   R # \        SV `  V4      # )z(%s))r   r   r%   ÚsuperÚ_column_default_sql)r   r$   Ú	__class__s   &&€r   r8   Ú(DatabaseSchemaEditor._column_default_sqlO   s8   ø€ Ø�‰×/×/Ð/°D×4NÑ4NÈu×4UÒ4Uñ Ü‰wÑ*¨5Ó1Ð1r   c           	     ó`  <€ \         SV `  W4       V P                  V4      '       d‡   VP                  R \        39  dn   V P                  V4      pV P                  RRV P                  VP                  P                  4      RV P                  VP                  4      /,          V.4       R # R # R # )Nz%UPDATE %(table)s SET %(column)s = %%sÚtableÚcolumn)r7   Ú	add_fieldr1   Údefaultr   r/   ÚexecuteÚ
quote_nameÚ_metaÚdb_tabler=   )r   Úmodelr$   r/   r9   s   &&& €r   r>   ÚDatabaseSchemaEditor.add_fieldV   s˜   ø€ Ü‰Ñ˜%Ô'ð ×Ñ˜U×#Ò#¨¯©¸dÄLÐ=QÔ(QØ $× 6Ñ 6°uÓ =ÐØ�L‰LØ7à˜TŸ_™_¨U¯[©[×-AÑ-AÓBØ˜dŸo™o¨e¯l©lÓ;ðõð
 #Ð#öñ )RÑ#r   c                óÈ   <€ \        V\        4      '       d<   VP                  W4      e)   V P                  VVP                  VP
                  R7       \        SV `  W4       R # )N©ÚfieldsÚexpressions)r   r   Ú
create_sqlÚ_create_missing_fk_indexrH   rI   r7   Úremove_constraint)r   rD   Ú
constraintr9   s   &&&€r   rL   Ú&DatabaseSchemaEditor.remove_constraintf   sY   ø€ ä�zÔ#3×4Ò4Ø×%Ñ% eÓ2Ò>à×)Ñ)ØØ!×(Ñ(Ø&×2Ñ2ð *ô ô
 	‰Ñ! %Ö4r   c           	     óª   <€ T P                  TVP                   UUu. uF  w  r4VNK	  	  uppVP                  R 7       \        SV `  W4       R# u uppi )rG   N)rK   Úfields_ordersrI   r7   Úremove_index)r   rD   ÚindexÚ
field_nameÚ_r9   s   &&&  €r   rQ   Ú!DatabaseSchemaEditor.remove_indexr   sS   ø€ Ø×%Ñ%ØØ49×4GÒ4GÔHÑ4G¡= :“JÑ4GÒHØ×)Ñ)ð 	&ô 	
ô
 	‰Ñ˜UÖ*ùó Is   �Ac                ób  <€ \         SV `  W4      '       g   R # V P                  P                  P	                  V P                  P                  4       VP                  P                  4      pVR8X  d*   VP                  4       R8X  d   VP                  '       d   R # V P                  V4      '       * # )FÚInnoDBÚ
ForeignKey)r7   Ú_field_should_be_indexedr   ÚintrospectionÚget_storage_engineÚcursorrB   rC   Úget_internal_typeÚdb_constraintr%   )r   rD   r$   Ústorager9   s   &&& €r   rY   Ú-DatabaseSchemaEditor._field_should_be_indexedz   sŠ   ø€ Ü‰wÑ/°×=Ò=Ùà—/‘/×/Ñ/×BÑBØ�O‰O×"Ñ"Ó$ e§k¡k×&:Ñ&:ó
ˆð �xÔØ×'Ñ'Ó)¨\Ô9Ø×#×#Ð#áØ×-Ñ-¨eÓ4Ô4Ð4r   rI   c               óð  € RpV'       d   V^ ,          pMzV'       ds   V P                   P                  P                  '       dM   \        V^ ,          \        4      '       d0   \
        V^ ,          P                  9  d   V^ ,          P                  pV'       g   R# VP                  P                  V4      pVP                  4       R8X  Ed   V P                   P                  P                  VP                  4      pV P                   P                  4       ;_uu_ 4       pV P                   P                  P                  WqP                  P                  4      P!                  4        UU	u. uF/  w  r‰V	R,          '       g   K  V	R,          ^ ,          V8X  g   K-  VNK1  	  p
pp	RRR4       \#        X
4      ^8X  d&   V P%                  V P'                  W.RR7      4       R# R# R# u up	pi   + '       g   i     LO; i)aR  
MySQL can remove an implicit FK index on a field when that field is
covered by another index like a unique_together. "covered" here means
that the more complex index has the FK field as its first field (see
https://bugs.mysql.com/bug.php?id=37910).

Manually create an implicit FK index to make it possible to remove the
composed index.
NrX   rR   Úcolumnsr.   )rH   Úsuffix)r   ÚfeaturesÚsupports_expression_indexesr   r   r   ÚnamerB   Ú	get_fieldr]   rZ   Úidentifier_converterr=   r\   Úget_constraintsrC   ÚitemsÚlenr@   Ú_create_index_sql)r   rD   rH   rI   Úfirst_field_nameÚfirst_fieldr=   r\   rf   ÚinfodictÚconstraint_namess   &&$$       r   rK   Ú-DatabaseSchemaEditor._create_missing_fk_indexŒ   s•  € ð   ÐßØ% a�yÑçØ—‘×(Ñ(×D×DÐDÜ˜; q�>¬1×-Ò-Ü +¨a¥.×"5Ñ"5Ô5à*¨1�~×2Ñ2ÐçÙà—k‘k×+Ñ+Ð,<Ó=ˆØ×(Ñ(Ó*¨lÕ:Ø—_‘_×2Ñ2×GÑGØ×"Ñ"óˆFð —‘×'Ñ'×)Ô)¨Vð +/¯/©/×*GÑ*G×*WÑ*WØ§¡× 4Ñ 4ó+ç‘e“gð+ô$ñ+™˜ð   ×(Ñ(ô	 ð .6°iÕ-@ÀÕ-CÀvÑ-M÷	 �Dñ+ð !ñ $÷ *ô Ð#Ó$¨Ô)Ø—‘Ø×*Ñ*¨5¸ÈrÐ*ÓRöñ *ñ ;ùó
$÷ *×)ús+   ÄAG%Å&G
Å>G
ÆG
ÆG%ÇG%Ç%G5	c                óL   <€ V P                  WR 7       \        SV `  ! W.VO5!  # ))rH   )rK   r7   Ú_delete_composed_index)r   rD   rH   Úargsr9   s   &&&*€r   rs   Ú+DatabaseSchemaEditor._delete_composed_index¾   s)   ø€ Ø×%Ñ% eÐ%Ô;Ü‰wÒ-¨eÐC¸dÓCÐCr   c                ó0  a € VP                  4       '       dY   S P                  V4      w  r4T\        ;QJ d    . V 3R lV 4       F  NK  	  5M! V 3R lV 4       4      ,          pVRV 2,          pVP                  '       d   VR,          pV# VR,          pV# )zj
Keep the NULL and DEFAULT properties of the old field. If it has
changed, it will be handled separately.
c              3   óF   <"  € T F  pSP                  V4      x € K  	  R # 5ir   )r   )Ú.0Úpr   s   & €r   Ú	<genexpr>Ú;DatabaseSchemaEditor._set_field_new_type.<locals>.<genexpr>É   s   øé € Ð E¹f¸ ×!1Ñ!1°!×!4Ð!4»fùs   ƒ!z	 DEFAULT z NULLz	 NOT NULL)Úhas_db_defaultÚdb_default_sqlÚtupleÚnull)r   r$   Únew_typeÚdefault_sqlÚparamss   f&&  r   Ú_set_field_new_typeÚ(DatabaseSchemaEditor._set_field_new_typeÂ   s†   ø€ ð
 ×Ñ×!Ò!Ø"&×"5Ñ"5°eÓ"<ÑˆKØŸ5œ5Ô E¹fÓ EŸ5™5Ô E¹fÓ EÓEÕEˆKØ˜) K =Ð1Õ1ˆHØ�:�:ˆ:Ø˜ÕˆHð ˆð ˜Õ#ˆHØˆr   c                óH   <€ V P                  W$4      p\        SV `	  WW4WV4      # r   )rƒ   r7   Ú_alter_column_type_sql)r   rD   Ú	old_fieldÚ	new_fieldr€   Úold_collationÚnew_collationr9   s   &&&&&&&€r   r†   Ú+DatabaseSchemaEditor._alter_column_type_sqlÑ   s.   ø€ ð ×+Ñ+¨IÓ@ˆÜ‰wÑ-Ø˜i°=ó
ð 	
r   c                ól   <€ V P                   P                  '       d   \        SV `  W4      # VR ,          # )Úcheck)r   r   r7   Ú_field_db_check)r   r$   Úfield_db_paramsr9   s   &&&€r   rŽ   Ú$DatabaseSchemaEditor._field_db_checkÙ   s0   ø€ Ø�?‰?×+×+Ð+Ü‘7Ñ*¨5ÓBÐBð ˜wÕ'Ð'r   c                óF   <€ V P                  W$4      p\        SV `	  WW44      # r   )rƒ   r7   Ú_rename_field_sql)r   r<   r‡   rˆ   r€   r9   s   &&&&&€r   r’   Ú&DatabaseSchemaEditor._rename_field_sqlà   s%   ø€ Ø×+Ñ+¨IÓ@ˆÜ‰wÑ(¨¸9ÓOÐOr   c                ó
   € R . 3# )r.   © )r   rD   rˆ   r€   Únew_db_comments   &&&&&r   Ú_alter_column_comment_sqlÚ.DatabaseSchemaEditor._alter_column_comment_sqlä   s   € à�2ˆvˆr   c                ó,   <€ \         SV `  V4      pR V 2# )z	 COMMENT )r7   Ú_comment_sql)r   ÚcommentÚcomment_sqlr9   s   && €r   rš   Ú!DatabaseSchemaEditor._comment_sqlè   s   ø€ Ü‘gÑ*¨7Ó3ˆØ˜;˜-Ð(Ð(r   c                ó  <€ VP                  4       '       g   \        SV `	  WV4      # VP                  V P                  R 7      pV P                  W4R,          4      pRRV P                  VP                  4      RV/,          . 3# ))r   ÚtypezMODIFY %(column)s %(type)sr=   )r|   r7   Ú_alter_column_null_sqlÚdb_parametersr   rƒ   rA   r=   )r   rD   r‡   rˆ   Únew_db_paramsÚtype_sqlr9   s   &&&&  €r   r    Ú+DatabaseSchemaEditor._alter_column_null_sqlì   s…   ø€ Ø×'Ñ'×)Ò)Ü‘7Ñ1°%ÀIÓNÐNà!×/Ñ/¸4¿?¹?Ð/ÓKˆØ×+Ñ+¨IÀVÕ7LÓMˆà(à˜$Ÿ/™/¨)×*:Ñ*:Ó;Ø˜ðõð
 ð
ð 	
r   r•   )+Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Úsql_rename_tableÚsql_alter_column_nullÚsql_alter_column_not_nullÚsql_alter_column_typeÚ sql_alter_column_no_default_nullÚsql_delete_uniqueÚsql_create_column_inline_fkÚsql_delete_fkÚsql_delete_indexÚsql_rename_indexÚsql_create_pkÚsql_delete_pkÚsql_create_indexÚsql_alter_table_commentÚsql_alter_column_commentÚpropertyr   r   r%   r+   r1   r4   r8   r>   rL   rQ   rY   rK   rs   rƒ   r†   rŽ   r’   r—   rš   r    Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r9   Ú__classdict__s   @@r   r	   r	      sð   ù‡ € ØDÐà=ÐØ EÐØPÐØ'QÐ$àCÐð	Að  ð F€Mà9ÐØXÐð 	Rð ð =€MàRÐàKÐØ#Ðàñ;ó ð;òò
òFòòõ2õõ 
5õ+õ5ð$0ð
 ô0õdDòõ
õ(õPòõ)÷
õ 
r   r	   N)	Údjango.db.backends.base.schemar   Údjango.db.modelsr   r   r   Údjango.db.models.constantsr   r	   r•   r   r   Ú<module>rÀ      s    ðÝ Cß >Ñ >Ý 1ôs
Ð3ö s
r   