Ë
    ¹ûàg¬  ã                   ó2   — d dl mZ d dlmZ  G d„ de«      Zy)é    )ÚDatabaseError)ÚDatabaseSchemaEditorc                   óŒ   ‡ — e Zd ZdZdZdZdZdZdZdZ	g d¢Z
ˆ fd	„Zd
„ Zdˆ fd„	Zd„ Zˆ fd„Zˆ fd„Zˆ fd„Zˆ fd„Zˆ fd„Zˆ xZS )ÚSpatialiteSchemaEditorz[SELECT AddGeometryColumn(%(table)s, %(column)s, %(srid)s, %(geom_type)s, %(dim)s, %(null)s)z0SELECT CreateSpatialIndex(%(table)s, %(column)s)z#DROP TABLE idx_%(table)s_%(column)szUSELECT RecoverGeometryColumn(%(table)s, %(column)s, %(srid)s, %(geom_type)s, %(dim)s)z3SELECT DiscardGeometryColumn(%(table)s, %(column)s)z9DELETE FROM %(geom_table)s WHERE f_table_name = %(table)szYUPDATE %(geom_table)s SET f_table_name = %(new_table)s WHERE f_table_name = %(old_table)s)Úgeometry_columnsÚgeometry_columns_authÚgeometry_columns_timeÚgeometry_columns_statisticsc                 ó2   •— t        ‰| �  |i |¤Ž g | _        y ©N)ÚsuperÚ__init__Úgeometry_sql)ÚselfÚargsÚkwargsÚ	__class__s      €ún/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/django/contrib/gis/db/backends/spatialite/schema.pyr   zSpatialiteSchemaEditor.__init__    s   ø€ Ü‰Ñ˜$Ð) &Ò)ØˆÕó    c                 óL   — | j                   j                  j                  |«      S r   )Ú
connectionÚopsÚgeo_quote_name)r   Únames     r   r   z%SpatialiteSchemaEditor.geo_quote_name$   s   € Ø�‰×"Ñ"×1Ñ1°$Ó7Ð7r   c                 óŠ  •— ddl m} t        ||«      st        ‰| �  |||«      S | j
                  j                  | j                  | j                  |j                  j                  «      | j                  |j                  «      |j                  | j                  |j                  «      |j                  t        |j                    «      dœz  «       |j"                  rg| j
                  j                  | j$                  | j'                  |j                  j                  «      | j'                  |j                  «      dœz  «       y)Nr   ©ÚGeometryField)ÚtableÚcolumnÚsridÚ	geom_typeÚdimÚnull©r   r   )NN)Údjango.contrib.gis.db.modelsr   Ú
isinstancer   Ú
column_sqlr   ÚappendÚsql_add_geometry_columnr   Ú_metaÚdb_tabler   r    r!   r"   Úintr#   Úspatial_indexÚsql_add_spatial_indexÚ
quote_name)r   ÚmodelÚfieldÚinclude_defaultr   r   s        €r   r'   z!SpatialiteSchemaEditor.column_sql'   s  ø€ Ý>ä˜% Ô/Ü‘7Ñ% e¨U°OÓDÐDð 	×Ñ× Ñ Ø×(Ñ(à×,Ñ,¨U¯[©[×-AÑ-AÓBØ×-Ñ-¨e¯l©lÓ;ØŸ
™
Ø!×0Ñ0°·±ÓAØ—y‘yÜ §
¡
˜NÓ+ññô
	
ð ×ÒØ×Ñ×$Ñ$Ø×*Ñ*à!Ÿ_™_¨U¯[©[×-AÑ-AÓBØ"Ÿo™o¨e¯l©lÓ;ññôð r   c                 ó<  — | j                  | j                  | j                  |j                  j                  «      | j                  |j
                  «      dœz  «       | j                  | j                  |j                  j                  |j
                  dœz  «       y )Nr$   )ÚexecuteÚsql_remove_geometry_metadatar/   r*   r+   r   Úsql_drop_spatial_index)r   r0   r1   s      r   Úremove_geometry_metadataz/SpatialiteSchemaEditor.remove_geometry_metadataD   s|   € Ø�‰Ø×-Ñ-àŸ™¨¯©×)=Ñ)=Ó>ØŸ/™/¨%¯,©,Ó7ññô	
ð 	�‰Ø×'Ñ'àŸ™×-Ñ-ØŸ,™,ññõ	
r   c                 óv   •— t         ‰| �  |«       | j                  D ]  }| j                  |«       Œ g | _        y r   )r   Úcreate_modelr   r4   )r   r0   Úsqlr   s      €r   r9   z#SpatialiteSchemaEditor.create_modelT   s9   ø€ Ü‰Ñ˜UÔ#à×$Ñ$ò 	ˆCØ�L‰L˜Õð	àˆÕr   c                 óp  •— ddl m} |j                  j                  D ]!  }t	        ||«      sŒ| j                  ||«       Œ# | j                  D ]G  }	 | j                  | j                  || j                  |j                  j                  «      dœz  «       ŒI t        ‰| �4  |fi |¤Ž y # t        $ r Y Œfw xY w)Nr   r   )Ú
geom_tabler   )r%   r   r*   Úlocal_fieldsr&   r7   Úgeometry_tablesr4   Úsql_discard_geometry_columnsr/   r+   r   r   Údelete_model)r   r0   r   r   r1   r<   r   s         €r   r@   z#SpatialiteSchemaEditor.delete_model[   s·   ø€ Ý>ð —[‘[×-Ñ-ò 	<ˆEÜ˜% Õ/Ø×-Ñ-¨e°UÕ;ð	<ð ×.Ñ.ò 
	ˆJð	Ø—‘Ø×5Ñ5à&0Ø!%§¡°·±×1EÑ1EÓ!Fññõð
	ô 	‰Ñ˜UÑ- fÓ-øô !ò Ùðús   ÁAB)Â)	B5Â4B5c                 óÂ   •— ddl m} t        ||«      r<| j                  ||«       | j                  D ]  }| j                  |«       Œ g | _        y t        ‰| �  ||«       y )Nr   r   )r%   r   r&   r'   r   r4   r   Ú	add_field)r   r0   r1   r   r:   r   s        €r   rB   z SpatialiteSchemaEditor.add_fieldp   sV   ø€ Ý>ä�e˜]Ô+à�O‰O˜E 5Ô)Ø×(Ñ(ò "�Ø—‘˜SÕ!ð"à "ˆDÕä‰GÑ˜e UÕ+r   c                 ór   •— ddl m} t        ||«      r| j                  ||¬«       y t        ‰| �  ||«       y )Nr   r   )Údelete_field)r%   r   r&   Ú_remake_tabler   Úremove_field)r   r0   r1   r   r   s       €r   rF   z#SpatialiteSchemaEditor.remove_field|   s4   ø€ Ý>ô �e˜]Ô+Ø×Ñ˜u°5ÐÕ9ä‰GÑ  ¨Õ.r   c                 ó‚  •— ddl m} ||k(  sA| j                  j                  j                  r"|j                  «       |j                  «       k(  ry |j                  j                  D ]X  }t        ||«      sŒ| j                  | j                  | j                  |«      | j                  |j                  «      dœz  «       ŒZ t        ‰| �9  |||«       | j                  D ]C  }	 | j                  | j                   || j                  |«      | j                  |«      dœz  «       ŒE |j                  j                  D ]ô  }t        ||«      ry| j                  | j$                  | j'                  |«      | j'                  |j                  «      |j(                  | j'                  |j*                  «      |j,                  dœz  «       t/        |dd«      sŒ–| j                  | j0                  | j                  d|›d	|j                  ›�«      | j                  d|›d	|j                  ›�«      d
œz  «       Œö y # t"        $ r Y �Œ`w xY w)Nr   r   r$   )r<   Ú	old_tableÚ	new_table)r   r   r    r!   r"   r-   FÚidx_Ú_)rH   rI   )r%   r   r   ÚfeaturesÚignores_table_name_caseÚlowerr*   r=   r&   r4   r5   r/   r   r   Úalter_db_tabler>   Úsql_update_geometry_columnsr   Úsql_recover_geometry_metadatar   r    r!   r"   ÚgetattrÚsql_rename_table)r   r0   Úold_db_tableÚnew_db_tabler   r1   r<   r   s          €r   rO   z%SpatialiteSchemaEditor.alter_db_table‰   sú  ø€ Ý>à˜<Ò'Ø�O‰O×$Ñ$×<Ò<Ø×"Ñ"Ó$¨×(:Ñ(:Ó(<Ò<àà—[‘[×-Ñ-ò 	ˆEÜ˜% Õ/Ø—‘Ø×5Ñ5à!%§¡°Ó!>Ø"&§/¡/°%·,±,Ó"?ññõð	ô 	‰Ñ˜u l°LÔAà×.Ñ.ò 	ˆJð
Ø—‘Ø×4Ñ4à&0Ø%)§_¡_°\Ó%BØ%)§_¡_°\Ó%Bññõð	ð —[‘[×-Ñ-ò 	ˆEÜ˜% Ô/Ø—‘Ø×6Ñ6à!%×!4Ñ!4°\Ó!BØ"&×"5Ñ"5°e·l±lÓ"CØ %§
¡
Ø%)×%8Ñ%8¸¿¹Ó%IØ$Ÿy™yññô	ô �u˜o¨uÕ5Ø—‘Ø×)Ñ)à%)§_¢_Ú+7¸¿ºÐFó&ð &*§_¢_Ú+7¸¿ºÐFó&ñ	ñõ
ñ	øô !ò Úðús   Ã!A H1È1	H>È=H>)F)Ú__name__Ú
__module__Ú__qualname__r)   r.   r6   rQ   r5   r?   rP   r>   r   r   r'   r7   r9   r@   rB   rF   rO   Ú__classcell__)r   s   @r   r   r      sz   ø„ ð	,ð ð OÐØBÐð	"ð "ð $YÐ àCð !ð	-ð  ò
€Oôò8õò:
ô ô.ô*
,ô/÷9ð 9r   r   N)Ú	django.dbr   Ú!django.db.backends.sqlite3.schemar   r   © r   r   ú<module>r]      s   ðÝ #Ý Bô}Ð1õ }r   