Ë
    ¹ûàgë  ã                   ój   — d dl Z d dlmZ d dlmZ d dlmZ  e j                  d«      Z G d„ de«      Z	y)é    N)ÚGeometryField)ÚOperationalError)ÚDatabaseSchemaEditorzdjango.contrib.gisc                   ól   ‡ — e Zd ZdZˆ fd„Zˆ fd„Zˆ fd„Zdˆ fd„	Zˆ fd„Zˆ fd„Z	ˆ fd„Z
d	„ Zd
„ Zˆ xZS )ÚMySQLGISSchemaEditorz7CREATE SPATIAL INDEX %(index)s ON %(table)s(%(column)s)c                 ó2   •— t        ‰| �  |i |¤Ž g | _        y ©N)ÚsuperÚ__init__Úgeometry_sql)ÚselfÚargsÚkwargsÚ	__class__s      €úi/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/django/contrib/gis/db/backends/mysql/schema.pyr   zMySQLGISSchemaEditor.__init__   s   ø€ Ü‰Ñ˜$Ð) &Ò)ØˆÕó    c                 ó\   •— t        |t        «      r| j                  syt        ‰| �  |«      S )NT)Ú
isinstancer   Ú$_supports_limited_data_type_defaultsr
   Úskip_default)r   Úfieldr   s     €r   r   z!MySQLGISSchemaEditor.skip_default   s+   ø€ ô �uœmÔ,Ø×=Ò=àÜ‰wÑ# EÓ*Ð*r   c                 ó¦   •— t        || j                  j                  j                  «      rt        ‰| �  t        |«      «      S t        ‰| �  |«      S r	   )r   Ú
connectionÚopsÚAdapterr
   Úquote_valueÚstr)r   Úvaluer   s     €r   r   z MySQLGISSchemaEditor.quote_value   sA   ø€ Ü�e˜TŸ_™_×0Ñ0×8Ñ8Ô9Ü‘7Ñ&¤s¨5£zÓ2Ð2Ü‰wÑ" 5Ó)Ð)r   c           	      ó–  •— t         ‰| �  |||«      }t        |t        «      r¦|j                  rš|j
                  sŽ| j                  j                  j                  }|j                  j                  }| j                  j                  | j                   || j                  ||«      «       ||«       ||j                  «      dœz  «       |S )N)ÚindexÚtableÚcolumn)r
   Ú
column_sqlr   r   Úspatial_indexÚnullr   r   Ú
quote_nameÚ_metaÚdb_tabler   ÚappendÚsql_add_spatial_indexÚ_create_spatial_index_namer"   )r   Úmodelr   Úinclude_defaultr#   Úqnr(   r   s          €r   r#   zMySQLGISSchemaEditor.column_sql    s©   ø€ Ü‘WÑ'¨¨u°oÓFˆ
ä�eœ]Ô+°×0CÒ0CÈEÏJÊJØ—‘×$Ñ$×/Ñ/ˆBØ—{‘{×+Ñ+ˆHØ×Ñ×$Ñ$Ø×*Ñ*á × ?Ñ ?ÀÀuÓ MÓNÙ ›\Ù  §¡Ó.ññôð Ðr   c                 óD   •— t         ‰| �  |«       | j                  «        y r	   )r
   Úcreate_modelÚcreate_spatial_indexes)r   r,   r   s     €r   r0   z!MySQLGISSchemaEditor.create_model0   s   ø€ Ü‰Ñ˜UÔ#Ø×#Ñ#Õ%r   c                 óF   •— t         ‰| �  ||«       | j                  «        y r	   )r
   Ú	add_fieldr1   )r   r,   r   r   s      €r   r3   zMySQLGISSchemaEditor.add_field4   s   ø€ Ü‰Ñ˜% Ô'Ø×#Ñ#Õ%r   c                 ó,  •— t        |t        «      rN|j                  rB|j                  s6| j	                  ||«      }| j                  ||«      }	 | j                  |«       t        ‰| �-  ||«       y # t        $ r t        j                  d|«       Y Œ2w xY w)Nz`Couldn't remove spatial index: %s (may be expected if your storage engine doesn't support them).)r   r   r$   r%   r+   Ú_delete_index_sqlÚexecuter   ÚloggerÚerrorr
   Úremove_field)r   r,   r   Ú
index_nameÚsqlr   s        €r   r9   z!MySQLGISSchemaEditor.remove_field8   s‡   ø€ Ü�eœ]Ô+°×0CÒ0CÈEÏJÊJØ×8Ñ8¸ÀÓFˆJØ×(Ñ(¨°
Ó;ˆCðØ—‘˜SÔ!ô 	‰Ñ˜U EÕ*øô $ò Ü—‘ðDàöðús   ÁA1 Á1BÂBc                 óN   — |j                   j                  ›d|j                  ›d�S )NÚ_Ú_id)r'   r(   r"   )r   r,   r   s      r   r+   z/MySQLGISSchemaEditor._create_spatial_index_nameG   s   € Ø"Ÿ[™[×1Ó1°5·<³<Ð@Ð@r   c                 ó¨   — | j                   D ]  }	 | j                  |«       Œ g | _         y # t        $ r t        j	                  d|› d�«       Y ŒCw xY w)NzCannot create SPATIAL INDEX z-. Only MyISAM, Aria, and InnoDB support them.)r   r6   r   r7   r8   )r   r;   s     r   r1   z+MySQLGISSchemaEditor.create_spatial_indexesJ   s`   € Ø×$Ñ$ò 	ˆCðØ—‘˜SÕ!ð	ð ˆÕøô $ò Ü—‘Ø2°3°%ð 8$ð %öðús   ‘,¬"AÁA)F)Ú__name__Ú
__module__Ú__qualname__r*   r   r   r   r#   r0   r3   r9   r+   r1   Ú__classcell__)r   s   @r   r   r   
   s7   ø„ ØUÐôô+ô*õ
ô &ô&ô+òAö	r   r   )
ÚloggingÚdjango.contrib.gis.db.modelsr   Ú	django.dbr   Údjango.db.backends.mysql.schemar   Ú	getLoggerr7   r   © r   r   ú<module>rJ      s3   ðÛ å 6Ý &Ý @à	ˆ×	Ñ	Ð/Ó	0€ôIÐ/õ Ir   