Ë
    qûàg¦  ã                   ó’   — d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZm	Z	 d dl
mZ d dlmZ d dlmZ d dlmZmZmZ  G d	„ d
e«      Zy)é    N)ÚList)Úsettings)ÚBaseCommandÚCommandError)ÚDEFAULT_DB_ALIAS)Úsignalcommand)ÚRemovedInNextVersionWarning)ÚSQLITE_ENGINESÚPOSTGRESQL_ENGINESÚMYSQL_ENGINESc                   óL   ‡ — e Zd ZU dZg Zee   ed<   dZˆ fd„Z	e
d„ «       Zˆ xZS )ÚCommanda+  Generates the SQL to create your database for you, as specified in settings.py
The envisioned use case is something like this:

    ./manage.py sqlcreate [--database=<databasename>] | mysql -u <db_administrator> -p
    ./manage.py sqlcreate [--database=<databasname>] | psql -U <db_administrator> -WÚrequires_system_checksTc                 óÆ   •— t         ‰| �  |«       |j                  ddddt        d¬«       |j                  dt        dt        z  ¬	«       |j                  d
ddddd¬«       y )Nz-Rz--routerÚstoreÚrouterz:Use this router-database other then defined in settings.py)ÚactionÚdestÚdefaultÚhelpz
--databasezGNominates a database to run command for. Defaults to the "%s" database.)r   r   z-Dz--dropÚ
store_trueÚdropFzCIf given, includes commands to drop any existing user and database.)ÚsuperÚadd_argumentsÚadd_argumentr   )ÚselfÚparserÚ	__class__s     €úm/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/django_extensions/management/commands/sqlcreate.pyr   zCommand.add_arguments   sy   ø€ Ü‰Ñ˜fÔ%Ø×ÑØ�* W°8ÔEUØMð 	ô 	
ð 	×ÑØÔ"2ØZÔ]mÑmð 	ô 	
ð 	×ÑØ�( <°fÀeØVð 	õ 	
ó    c                 ó  — |d   }|d   t         k7  r!t        j                  dt        d¬«       |d   }t        j
                  j                  |«      }|€t        d|z  «      ‚|j                  d«      }|j                  d«      }|j                  d	«      }|j                  d
«      }|j                  d«      }	t        j                  «       }
|	sd}	|t        v r t        j                  j                  d«       y |t        v rFt        j                  j                  d«       t        d|z  «       t        d|›d|›d|
›d|›d�	«       y |t         v r{|d   r t        d|›d�«       |rt        d|›d�«       |r9|r7t        d|›d|›d�«       t        d|›d|›d�«       t        d|›d |›d�«       y t        d!«       t        d|›d"�«       y t        j                  j                  d#|z  «       t        d$|z  «       t        d|›d%|›d�«       y )&NÚdatabaser   z2--router is deprecated. You should use --database.é   )Ú
stacklevelzUnknown database %sÚENGINEÚUSERÚPASSWORDÚNAMEÚHOSTÚ	localhostzH-- manage.py migrate will automatically create a sqlite3 database file.
z³-- WARNING!: https://docs.djangoproject.com/en/dev/ref/databases/#collation-settings
-- Please read this carefully! Collation will be set to utf8_bin to have case-sensitive data.
z7CREATE DATABASE %s CHARACTER SET utf8 COLLATE utf8_bin;zGRANT ALL PRIVILEGES ON z.* to 'z'@'z' identified by 'z';r   zDROP DATABASE IF EXISTS ú;zDROP USER IF EXISTS zCREATE USER z WITH ENCRYPTED PASSWORD 'z' CREATEDB;zCREATE DATABASE z WITH ENCODING 'UTF-8' OWNER "z";z!GRANT ALL PRIVILEGES ON DATABASE z TO zŠ-- Assuming that unix domain socket connection mode is being used because
-- USER or PASSWORD are blank in Django DATABASES configuration.z WITH ENCODING 'UTF-8';z6-- Don't know how to handle '%s' falling back to SQL.
zCREATE DATABASE %s;z to )r   ÚwarningsÚwarnr	   r   Ú	DATABASESÚgetr   ÚsocketÚgethostnamer
   ÚsysÚstderrÚwriter   Úprintr   )r   ÚargsÚoptionsr"   ÚdbinfoÚengineÚdbuserÚdbpassÚdbnameÚdbhostÚdbclients              r   ÚhandlezCommand.handle)   sÍ  € à˜:Ñ&ˆØ�8ÑÔ 0Ò0Ü�M‰MÐNÔPkÐxyÕzØ˜xÑ(ˆHä×#Ñ#×'Ñ'¨Ó1ˆØˆ>ÜÐ4°xÑ?Ó@Ð@à—‘˜HÓ%ˆØ—‘˜FÓ#ˆØ—‘˜JÓ'ˆØ—‘˜FÓ#ˆØ—‘˜FÓ#ˆÜ×%Ñ%Ó'ˆñ Ø ˆFà”^Ñ#Ü�J‰J×ÑÐhÕiØ”}Ñ$Ü�J‰J×Ñð ô ô ÐKÈfÑTÔUÝÚš¢ª&ðõ ð Ô)Ñ)Ø�vŠÝ²vÐ?Ô@ÙÝ²vÐ?Ô@á™&ÝÒQWÒY_Ð`ÔaÝÒRXÒZ`ÐaÔbÝÂfÊfÐUÕVäðWôõ ÂVÐNÕOô �J‰J×ÑÐVÐY_Ñ_Ô`ÜÐ'¨&Ñ0Ô1ÝÂ&Ê&ÐQÕRr    )Ú__name__Ú
__module__Ú__qualname__r   r   r   ÚstrÚ__annotations__Úcan_import_settingsr   r   r?   Ú__classcell__)r   s   @r   r   r      s=   ø… ðX€Dð )+Ð˜D ™IÓ*ØÐô
ð ñ4Só ô4Sr    r   )r0   r2   r,   Útypingr   Údjango.confr   Údjango.core.management.baser   r   Ú	django.dbr   Ú"django_extensions.management.utilsr   Ú#django_extensions.utils.deprecationr	   Údjango_extensions.settingsr
   r   r   r   © r    r   ú<module>rO      s6   ðã Û 
Û Ý å  ß AÝ &å <Ý Kß XÑ XôNSˆkõ NSr    