+
    T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]R 4       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)szY, ADD CONSTRAINT %(name)s FOREIGN KEY (%(column)s) REFERENCES %(to_table)s(%(to_column)s)z/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   &T/var/www/idalgo/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
 eS!!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E7==?334DEEr   c                    V P                  V4      R9   pV'       d   V P                  V4      '       d   R# V P                  '       g   V P                  V4      # R#  TF)r0   r   )effective_defaultr,   $_supports_limited_data_type_defaultsr&   r   r%   default_is_emptys   && r   skip_default!DatabaseSchemaEditor.skip_default@   sN    11%8IE 5 5e < <888--e44r   c                    V P                  V4      R9   pV'       d   V P                  V4      '       d   R# V P                  V4      '       d   V P                  P                  '       g   R# R# r/   )r1   r,   r&   r   r   r3   s   && r   skip_default_on_alter*DatabaseSchemaEditor.skip_default_on_alterH   sV    11%8IE 5 5e < <%%e,,T__5U5U5U r   c                p    V P                   P                  '       d   R # V P                   P                  R8  # )T)   r      )r   r   mysql_versionr   s   &r   r2   9DatabaseSchemaEditor._supports_limited_data_type_defaultsR   s,     ??+++,,
::r   c                   < V P                   P                  '       g,   V P                  '       d   V P                  V4      '       d   R # \        SV `  V4      # )z(%s))r   r   r2   r&   super_column_default_sql)r   r%   	__class__s   &&r   rA   (DatabaseSchemaEditor._column_default_sqlY   sE    000999**511 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)r@   	add_fieldr5   defaultr   r1   execute
quote_name_metadb_tablerF   )r   modelr%   r1   rB   s   &&& r   rG   DatabaseSchemaEditor.add_fieldd   s    %' U##dL=Q(Q $ 6 6u =LL7T__U[[-A-ABdooell;
 ## )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_indexrQ   rR   r@   remove_constraint)r   rM   
constraintrB   s   &&&r   rU   &DatabaseSchemaEditor.remove_constraintt   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 )rP   N)rT   fields_ordersrR   r@   remove_index)r   rM   index
field_name_rB   s   &&&  r   rZ   !DatabaseSchemaEditor.remove_index   sS    %%494G4GH4G=:J4G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)r@   _field_should_be_indexedr   introspectionget_storage_enginecursorrK   rL   get_internal_typedb_constraintr&   )r   rM   r%   storagerB   s   &&& r   rb   -DatabaseSchemaEditor._field_should_be_indexed   s    w/==////BBOO""$ekk&:&:
 x'')\9###--e444r   rR   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  rV	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.
Nra   r[   columnsr0   )rQ   suffix)r   featuressupports_expression_indexesr   r   r   namerK   	get_fieldrf   rc   identifier_converterrF   re   get_constraintsrL   itemslenrI   _create_index_sql)r   rM   rQ   rR   first_field_namefirst_fieldrF   re   ro   infodictconstraint_namess   &&$$       r   rT   -DatabaseSchemaEditor._create_missing_fk_index   s      %ay((DDD;q>1--+a."5"55*1~22kk++,<=((*l:__22GG""F ''))V +///*G*G*W*W 4 4+eg+$+  ((	  .6i-@-Cv-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!  # ))rQ   )rT   r@   _delete_composed_index)r   rM   rQ   argsrB   s   &&&*r   r|   +DatabaseSchemaEditor._delete_composed_index   s)    %%e%;w-eCd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      Ef!1!1!!4!4fs   !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"5e"<K55 Ef E55 Ef EEEK)K=11H:::H  #Hr   c                H   < V P                  W$4      p\        SV `	  WW4WV4      # r   )r   r@   _alter_column_type_sql)r   rM   	old_field	new_fieldr   old_collationnew_collationrB   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   r@   _field_db_check)r   r%   field_db_paramsrB   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   r@   _rename_field_sql)r   rE   r   r   r   rB   s   &&&&&r   r   &DatabaseSchemaEditor._rename_field_sql   s%    ++I@w(9OOr   c                
    R . 3# )r0    )r   rM   r   r   new_db_comments   &&&&&r   _alter_column_comment_sql.DatabaseSchemaEditor._alter_column_comment_sql   s    2vr   c                ,   < \         SV `  V4      pR V 2# )z	 COMMENT )r@   _comment_sql)r   commentcomment_sqlrB   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)srF   )r   r@   _alter_column_null_sqldb_parametersr   r   rJ   rF   )r   rM   r   r   new_db_paramstype_sqlrB   s   &&&&  r   r   +DatabaseSchemaEditor._alter_column_null_sql   s    ''))71%INN!//4??/K++IV7L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,   r5   r8   r2   rA   rG   rU   rZ   rb   rT   r|   r   r   r   r   r   r   r   __static_attributes____classdictcell____classcell__)rB   __classdict__s   @@r   r	   r	      s    D= EP'Q$C	1   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A
3 A
r   